Hvis du finder dig selv at køre den samme kommando igen og igen, kan der være en bedre måde.
Nogle gange skal du gentagne gange køre en kommando eller et program for at overvåge forskellige aspekter af dit system, såsom igangværende processer, brug af diskplads eller brugerlogin. Linux-ur-kommandoen lader dig automatisere disse opgaver uden at skulle køre dem manuelt igen og igen.
Ved at bruge denne kommando kan du overvåge systemaktiviteter i realtid, såsom brugerlogin, netværksstatus, hukommelse og CPU-brug, diskplads osv. Lad os se, hvordan du bruger ur-kommandoen i Linux.
Hvad er urkommandoen?
Watch Linux-kommandoen kører en bestemt kommando eller et program gentagne gange med jævne mellemrum og viser dets output i terminalen. Dette lader dig observere ændringerne i outputtet i realtid. Det opdaterer output ved hvert interval og overskriver kommandoens tidligere output. Som standard gentages kommandoen hvert andet sekund og fortsætter, indtil du manuelt stopper med at bruge den Ctrl + C.
Se kommandosyntaks
Syntaksen for urkommandoen er:
watch options
Der er forskellige kommandolinjemuligheder tilgængelige til brug med urkommandoen. Hvis du kører ur-kommandoen uden nogen muligheder, vil den køre den angivne kommando efter hvert andet sekund. For eksempel vil følgende vise dig outputtet af ls-kommandoen:
watch ls -l ~/
Outputtet viser dig ændringerne i mappelisten, hvis en fil oprettes, slettes eller ændres i størrelse, mens outputtet opdateres hvert andet sekund.
Kør en kommando hvert X. sekund ved hjælp af ur
Du kan ændre opdateringsintervallet for urkommandoen. Det betyder, at du kan bede urkommandoen om at vente i x sekunder, før du gentager kommandoen. For at ændre opdateringsintervallet skal du bruge -n mulighed efterfulgt af tidsintervallet i sekunder.
watch -n
For at køre en kommando efter hvert 5. sekund, skal du køre:
watch -n 5
Fremhæv ændringer mellem opdateringer
Urkommandoen overskriver dets output ved hver opdatering. Bruger -d mulighed, kan du også fremhæve ændringerne mellem det forrige og det opdaterede output.
watch -d
Som standard viser urkommandoen en overskrift øverst på hvert output, der indeholder opdateringsintervallet, kommandonavnet og systemets aktuelle dato og klokkeslæt. Du kan fjerne headeren fra outputtet ved hjælp af -t mulighed:
watch -t
Afspil bip ved fejl
Når en Linux-proces er færdig med at køre, returnerer den en udgangskode. Ved konvention er værdien 0 ved succes og ikke-nul for at repræsentere en fejl. Urets kommando -b indstillingen afspiller en biplyd, hvis kommandoen returnerer en afslutning, der ikke er nul.
Lad os sige, at du vil overvåge sshd.service og få besked, når tjenesten stopper; du ville bruge:
watch -b sudo systemctl status sshd.service
Denne kommando vil give biplyde, når tjenesten stopper. Bippet stopper, når tjenesten genoptages. For at teste dette skal du åbne et andet terminalvindue og stoppe tjenesten. Dette vil give konstante bip, indtil du starter tjenesten igen. For at bruge denne funktion skal du dog have bip-pakken installeret på dit system.
Afslut urkommandoen ved outputændring
Du kan også bede urkommandoen om at stoppe med at køre og afslutte, når udgangen af kommandoen ændres. Du kan gøre dette ved at bruge -g mulighed. Denne mulighed er meget nyttig i scenarier, hvor du venter på visse ændringer i outputtet.
Når outputtet ændres, stopper urkommandoen. Du kan kombinere denne brug med ekko-kommandoen for at vise en meddelelse på skærmen.
Overvej for eksempel et scenarie, hvor du venter på, at en fil kommer til dit bibliotek. Følgende kommando vil overvåge mappen for den angivne fil. Så snart den ankommer, stopper urkommandoen med at køre og beskeden fil ankom vil blive vist på terminalen.
watch -g "ls -l | grep filename" && echo "file arrived"
Et andet nyttigt eksempel er en meddelelse, når en bestemt bruger logger ind på dit system:
watch -g "who | grep username" && echo "username logged in"
Denne kommando vil overvåge outputtet af who-kommando som viser de brugere, der er logget ind. Når brugeren logger på, stopper urkommandoen og viser en meddelelse på terminalen.
På samme måde kan du bede watch-kommandoen om at stoppe en tjeneste, når der foretages nogle ændringer i en fil. Husk, at når du bruger en kæde af kommandoer, skal du omslutte hele kommandoen inden for anførselstegn.
Se aktiviteter i dit Linux-system
Hvis du oplever at gøre den samme proces gentagne gange, kan du overveje at bruge ur-kommandoen til at automatisere den. Det sparer dig for ofte at skrive kommandoerne for at se, hvad der er ændret.
Du kan også bruge watch-kommandoen sammen med andre Linux-kommandoer til at overvåge systemressourcer og -aktiviteter og spore ændringer i filer eller mapper.