Hvis du finner deg selv å kjøre den samme kommandoen igjen og igjen, kan det være en bedre måte.
Noen ganger må du gjentatte ganger kjøre en kommando eller et program for å overvåke ulike aspekter av systemet ditt, som pågående prosesser, diskplassbruk eller brukerpålogginger. Linux-klokkekommandoen lar deg automatisere disse oppgavene uten å måtte kjøre dem manuelt igjen og igjen.
Ved å bruke denne kommandoen kan du overvåke systemaktiviteter i sanntid, for eksempel brukerpålogginger, nettverksstatus, minne og CPU-bruk, diskplass, etc. La oss se hvordan du bruker watch-kommandoen i Linux.
Hva er klokkekommandoen?
Watch Linux-kommandoen kjører en spesifisert kommando eller et program gjentatte ganger, med jevne mellomrom, og viser utdataene i terminalen. Dette lar deg observere endringene i utdataene i sanntid. Den oppdaterer utdataene ved hvert intervall, og overskriver kommandoens forrige utdata. Som standard gjentas kommandoen hvert annet sekund og fortsetter til du manuelt stopper bruken Ctrl + C.
Se kommandosyntaks
Syntaksen til klokkekommandoen er:
watch options
Det er forskjellige kommandolinjealternativer tilgjengelig for bruk med klokkekommandoen. Hvis du kjører klokkekommandoen uten noen alternativer, vil den kjøre den angitte kommandoen etter annethvert sekund. For eksempel vil følgende vise deg utdataene til ls-kommandoen:
watch ls -l ~/
Utdataene vil vise deg endringene i katalogoppføringen hvis en fil opprettes, slettes eller endres i størrelse, mens utdataene oppdateres hvert annet sekund.
Kjør en kommando hvert X. sekund med klokken
Du kan endre oppdateringsintervallet til klokkekommandoen. Dette betyr at du kan fortelle klokkekommandoen å vente i x sekunder før du gjentar kommandoen. For å endre oppdateringsintervallet, bruk -n alternativet etterfulgt av tidsintervallet i sekunder.
watch -n
For å kjøre en kommando etter hvert 5. sekund, kjør for eksempel:
watch -n 5
Uthev endringer mellom oppdateringer
Klokkekommandoen overskriver utdata ved hver oppdatering. Bruker -d alternativet, kan du også markere endringene mellom forrige og oppdaterte utdata.
watch -d
Som standard viser klokkekommandoen en overskrift øverst på hver utgang som inneholder oppdateringsintervallet, kommandonavnet og systemets gjeldende dato og klokkeslett. Du kan fjerne overskriften fra utgangen ved å bruke -t alternativ:
watch -t
Spill av pip ved feil
Når en Linux-prosess er ferdig å kjøre, returnerer den en utgangskode. Ved konvensjon er verdien 0 ved suksess og ikke-null for å representere en feil. Klokkekommandoen -b alternativet spiller av en pipelyd hvis kommandoen returnerer en avslutning som ikke er null.
La oss si at du vil overvåke sshd.service og bli varslet når tjenesten stopper; du ville brukt:
watch -b sudo systemctl status sshd.service
Denne kommandoen vil gi pipelyder når tjenesten stopper. Pipet stopper når tjenesten gjenopptas. For å teste dette, åpne et annet terminalvindu og stopp tjenesten. Dette vil gi konstante pip til du starter tjenesten igjen. For å bruke denne funksjonen må du imidlertid ha pip-pakken installert på systemet ditt.
Avslutt klokkekommandoen ved endring av utdata
Du kan også fortelle klokkekommandoen om å slutte å kjøre og avslutte når utgangen til kommandoen endres. Du kan gjøre dette ved å bruke -g alternativ. Dette alternativet er veldig nyttig i scenarier når du venter på visse endringer i utdata.
Når utgangen endres, stopper klokkekommandoen. Du kan kombinere denne bruken med ekko-kommandoen for å vise en melding på skjermen.
Tenk for eksempel på et scenario der du venter på at en fil skal ankomme i katalogen din. Følgende kommando vil overvåke katalogen for den angitte filen. Så snart den kommer, vil klokkekommandoen slutte å kjøre og meldingen fil kom vises på terminalen.
watch -g "ls -l | grep filename" && echo "file arrived"
Et annet nyttig eksempel er et varsel når en spesifikk bruker logger på systemet ditt:
watch -g "who | grep username" && echo "username logged in"
Denne kommandoen vil overvåke utdataene fra who-kommando som viser brukerne som er pålogget. Når brukeren logger på, stopper klokkekommandoen og viser en melding på terminalen.
På samme måte kan du fortelle vaktkommandoen å stoppe en tjeneste når det gjøres noen endringer i en fil. Husk at når du bruker en kjede med kommandoer, må du legge hele kommandoen i anførselstegn.
Se aktiviteter i Linux-systemet ditt
Hvis du opplever at du gjør den samme prosessen gjentatte ganger, bør du vurdere å bruke klokkekommandoen for å automatisere den. Det sparer deg fra å skrive kommandoene ofte for å se hva som har endret seg.
Du kan også bruke watch-kommandoen med andre Linux-kommandoer for å overvåke systemressurser og aktiviteter, og spore endringer i filer eller kataloger.