Ako se nađete u situaciji da uvijek iznova izvodite istu naredbu, možda postoji bolji način.

Ponekad je potrebno više puta pokrenuti naredbu ili program za nadzor različitih aspekata vašeg sustava, poput procesa koji su u tijeku, korištenja diskovnog prostora ili prijava korisnika. Linux watch naredba omogućuje automatizaciju ovih zadataka bez potrebe da ih uvijek iznova ručno pokrećete.

Pomoću ove naredbe možete pratiti aktivnosti sustava u stvarnom vremenu kao što su prijave korisnika, status mreže, korištenje memorije i CPU-a, prostor na disku itd. Pogledajmo kako koristiti naredbu watch u Linuxu.

Što je naredba Watch?

Watch Linux naredba pokreće određenu naredbu ili program opetovano, u redovitim intervalima, i prikazuje svoj izlaz na terminalu. To vam omogućuje promatranje promjena u izlazu u stvarnom vremenu. Osvježava izlaz u svakom intervalu, prepisujući prethodni izlaz naredbe. Prema zadanim postavkama, naredba se ponavlja svake dvije sekunde i nastavlja dok je ručno ne prestanete koristiti Ctrl + C.

instagram viewer

Pogledajte sintaksu naredbi

Sintaksa naredbe watch je:

watch options 

Dostupne su različite opcije naredbenog retka za korištenje s naredbom watch. Ako pokrenete naredbu watch bez ikakvih opcija, ona će pokrenuti navedenu naredbu svake dvije sekunde. Na primjer, sljedeće će vam pokazati izlaz naredbe ls:

watch ls -l ~/

Izlaz će vam pokazati promjene u popisu direktorija ako je datoteka stvorena, izbrisana ili promijenila veličinu, dok se izlaz osvježava svake dvije sekunde.

Pokrenite naredbu svakih X sekundi pomoću sata

Možete promijeniti interval ažuriranja naredbe watch. To znači da možete reći naredbi watch da pričeka x sekundi prije ponavljanja naredbe. Za promjenu intervala ažuriranja koristite -n opciju nakon koje slijedi vremenski interval u sekundama.

watch -n 

Na primjer, da biste pokrenuli naredbu nakon svakih 5 sekundi, pokrenite:

watch -n 5 

Istaknite promjene između ažuriranja

Naredba watch prepisuje svoj izlaz pri svakom osvježavanju. Koristiti -d opciju, također možete označiti promjene između prethodnog i ažuriranog izlaza.

watch -d

Prema zadanim postavkama, naredba watch prikazuje zaglavlje na vrhu svakog izlaza koji sadrži interval ažuriranja, naziv naredbe i trenutni datum i vrijeme sustava. Možete ukloniti zaglavlje iz izlaza pomoću -t opcija:

watch -t 

Igraj Beeps on Error

Kada Linux proces završi s radom, vraća izlazni kod. Prema konvenciji, vrijednost je 0 za uspjeh i različita od nule predstavlja pogrešku. Naredba za sat -b opcija reproducira zvučni signal ako naredba vrati izlaz različit od nule.

Recimo da želite nadzirati sshd.service i dobiti obavijest kada se usluga zaustavi; koristili biste:

watch -b sudo systemctl status sshd.service

Ova naredba će dati zvučni signal kada se usluga zaustavi. Zvučni signal će prestati kada se usluga nastavi. Da biste ovo testirali, otvorite drugi prozor terminala i zaustavite uslugu. Ovo će proizvoditi stalne zvučne signale dok ponovno ne pokrenete uslugu. Međutim, da biste koristili ovu značajku, morate imati paket zvučnih signala instaliran na vašem sustavu.

Izađite iz naredbe sata pri promjeni izlaza

Također možete reći naredbi watch da se zaustavi i izađe kada se izlaz naredbe promijeni. To možete učiniti pomoću -g opcija. Ova je opcija vrlo korisna u scenarijima kada čekate određene promjene u izlazu.

Kada se izlaz promijeni, naredba promatranja će se zaustaviti. Ovu upotrebu možete kombinirati s naredbom echo za prikaz poruke na zaslonu.

Na primjer, razmislite o scenariju u kojem čekate da datoteka stigne u vaš direktorij. Sljedeća naredba nadzirat će direktorij za navedenu datoteku. Čim stigne, naredba sata prestat će se izvoditi i poruka datoteka je stigla prikazat će se na terminalu.

watch -g "ls -l | grep filename" && echo "file arrived"

Još jedan koristan primjer je obavijest kada se određeni korisnik prijavi na vaš sustav:

watch -g "who | grep username" && echo "username logged in"

Ova naredba će nadzirati izlaz who naredba koja ispisuje korisnike koji su prijavljeni. Nakon što se korisnik prijavi, naredba watch će se zaustaviti i prikazati poruku na terminalu.

Slično, možete reći naredbi watch da zaustavi uslugu kada se naprave neke promjene u datoteci. Imajte na umu da ćete pri korištenju usmjerenog lanca naredbi cijelu naredbu morati staviti u navodnike.

Gledajte aktivnosti u vašem Linux sustavu

Ako zateknete da ponavljate isti postupak, razmislite o upotrebi naredbe watch da biste ga automatizirali. Spašava vas od čestog upisivanja naredbi da biste vidjeli što se promijenilo.

Također možete koristiti naredbu watch s drugim Linux naredbama za nadzor resursa i aktivnosti sustava te praćenje promjena u datotekama ili direktorijima.