Dacă vă treziți că rulați aceeași comandă din nou și din nou, poate exista o modalitate mai bună.
Uneori, trebuie să rulați în mod repetat o comandă sau un program pentru a monitoriza diferite aspecte ale sistemului dvs., cum ar fi procesele în desfășurare, utilizarea spațiului pe disc sau autentificarea utilizatorului. Comanda Linux Watch vă permite să automatizați aceste sarcini fără a fi nevoie să le executați manual din nou și din nou.
Folosind această comandă, puteți monitoriza activitățile sistemului în timp real, cum ar fi autentificarea utilizatorului, starea rețelei, utilizarea memoriei și CPU, spațiul pe disc etc. Să vedem cum să folosiți comanda watch în Linux.
Ce este comanda Watch?
Comanda watch Linux rulează o comandă specificată sau un program în mod repetat, la intervale regulate, și își afișează rezultatul în terminal. Acest lucru vă permite să observați modificările în ieșire în timp real. Acesta reîmprospătează ieșirea la fiecare interval, suprascriind ieșirea anterioară a comenzii. În mod implicit, comanda se repetă la fiecare două secunde și continuă până când opriți manual utilizarea acesteia
Ctrl + C.Vizionați sintaxa comenzii
Sintaxa comenzii watch este:
watch options
Există diferite opțiuni de linie de comandă disponibile pentru a fi utilizate cu comanda watch. Dacă rulați comanda watch fără opțiuni, aceasta va rula comanda specificată după fiecare două secunde. De exemplu, următoarele vă vor arăta rezultatul comenzii ls:
watch ls -l ~/
Ieșirea vă va arăta modificările din lista de director dacă un fișier este creat, șters sau se modifică în dimensiune, în timp ce reîmprospătează rezultatul la fiecare două secunde.
Rulați o comandă la fiecare X secunde folosind ceasul
Puteți modifica intervalul de actualizare al comenzii watch. Aceasta înseamnă că puteți spune comenzii watch să aștepte x secunde înainte de a repeta comanda. Pentru a modifica intervalul de actualizare, utilizați -n opțiune urmată de intervalul de timp în secunde.
watch -n
De exemplu, pentru a rula o comandă după fiecare 5 secunde, rulați:
watch -n 5
Evidențiați modificările dintre actualizări
Comanda watch își suprascrie rezultatul la fiecare reîmprospătare. Folosind -d opțiunea, puteți, de asemenea, evidenția modificările dintre ieșirea anterioară și cea actualizată.
watch -d
În mod implicit, comanda watch afișează un antet în partea de sus a fiecărei ieșiri care conține intervalul de actualizare, numele comenzii și data și ora curente ale sistemului. Puteți elimina antetul de la ieșire folosind -t opțiune:
watch -t
Redați bipuri la eroare
Când un proces Linux se termină de rulat, returnează un cod de ieșire. Prin convenție, valoarea este 0 la succes și diferită de zero pentru a reprezenta o eroare. Comanda ceasului -b opțiunea redă un bip dacă comanda returnează o ieșire diferită de zero.
Să presupunem că doriți să monitorizați sshd.service și să primiți notificare când serviciul se oprește; ai folosi:
watch -b sudo systemctl status sshd.service
Această comandă va emite sunete sonore când serviciul se oprește. Bip-ul se va opri la reluarea serviciului. Pentru a testa acest lucru, deschideți o altă fereastră de terminal și opriți serviciul. Acest lucru va emite bipuri constante până când veți porni din nou serviciul. Cu toate acestea, pentru a utiliza această caracteristică, trebuie să aveți pachetul de bip instalat pe sistemul dumneavoastră.
Ieșiți din comanda ceasului la modificarea ieșirii
De asemenea, puteți spune comenzii watch să se oprească din rulare și să iasă atunci când ieșirea comenzii se modifică. Puteți face acest lucru folosind -g opțiune. Această opțiune este foarte utilă în scenariile în care așteptați anumite modificări în rezultat.
Odată ce ieșirea se modifică, comanda ceasului se va opri. Puteți combina această utilizare cu comanda echo pentru a afișa un mesaj pe ecran.
De exemplu, luați în considerare un scenariu în care așteptați să ajungă un fișier în directorul dvs. Următoarea comandă va monitoriza directorul pentru fișierul specificat. De îndată ce sosește, comanda ceasului se va opri din rulare și mesajul dosarul a sosit va apărea pe terminal.
watch -g "ls -l | grep filename" && echo "file arrived"
Un alt exemplu util este o notificare când un anumit utilizator se conectează la sistemul dvs.:
watch -g "who | grep username" && echo "username logged in"
Această comandă va monitoriza rezultatul comanda who care listează utilizatorii care sunt autentificați. Odată ce utilizatorul se conectează, comanda watch se va opri și va afișa un mesaj pe terminal.
În mod similar, puteți spune comenzii watch să oprească un serviciu atunci când sunt făcute unele modificări într-un fișier. Rețineți că atunci când utilizați un lanț de comenzi canalizat, va trebui să includeți întreaga comandă între ghilimele.
Vizionați activități în sistemul dvs. Linux
Dacă faceți același proces în mod repetat, luați în considerare utilizarea comenzii watch pentru a o automatiza. Vă scutește de a tasta frecvent comenzile pentru a vedea ce s-a schimbat.
De asemenea, puteți utiliza comanda watch cu alte comenzi Linux pentru a monitoriza resursele și activitățile sistemului și pentru a urmări modificările în fișiere sau directoare.