Der Watch-Befehl ist ein wirklich nettes Werkzeug und in vielen Situationen nützlich. Der Befehl watch kann verwendet werden, um jede Datei oder jedes Skript regelmäßig zu überwachen. Es läuft standardmäßig alle 2 Sekunden und läuft, bis es unterbrochen wird.
# watch -h Usage: watch [-dhntv] [--differences[=cumulative]] [--help] [--interval=[n]] [--no-title] [--version] [command] -d, --differences[=cumulative] highlight changes between updates (cumulative means highlighting is cumulative) -h, --help print a summary of the options -n, --interval=[seconds] seconds to wait between updates -v, --version print the version number -t, --no-title turns off showing the header
Die grundlegende Syntax des Watch-Befehls lautet:
# watch [-n seconds] [-d] [command]
Hier,
-d flag will highlight the differences between successive updates. -n flag is to specify the interval. The default value is 2 seconds.
Hier ist eine Beispielausgabe:
# watch -n 10 -d ls -lt Every 10.0s: ls -lt Tue Feb 14 12:27:43 2017 total 0 -rw-r--r-- 1 root root 0 Feb 14 12:27 new_file_just_created -rw-r--r-- 1 root root 0 Feb 14 10:46 file1 -rw-r--r-- 1 root root 0 Feb 14 10:46 file2 -rw-r--r-- 1 root root 0 Feb 14 10:46 file3
Hier,
Every 10.0s : is the time interval to run the watch command. i.e. 10 seconds. ls -lt : is the command to be executed every 10 seconds. Tue Feb 14 12:27:43 2017 : is the current date and time.
Beispiel 1:Überwachung einer sich dynamisch ändernden Datei wie /proc/meminfo
Es gibt eine Möglichkeit, jede Datei auf dem System mit dem Befehl watch zu überwachen.
Der Befehl:
# watch -n 10 -d cat /proc/meminfo
würde alle 10 Sekunden eine Ausgabe des Meminfo-Status auf dem Bildschirm erzeugen und bei Änderungen hervorheben.
Beispiel 2 :Suche nach der Änderung im Inhalt eines Verzeichnisses
Eine weitere hervorragende Verwendung des watch-Befehls besteht darin, den Inhalt des Verzeichnisses im Auge zu behalten und zu sehen, ob eine neue Datei hinzugefügt oder entfernt wird.
# watch -d ls -lt
Der Schalter -lt im Befehl ls zeigt die zuletzt geänderte Datei ganz oben an.
Beispiel 3:Titel/Kopfzeile aus der Ausgabe entfernen.
Falls Sie den Header nicht in der Ausgabe des Watch-Befehls drucken möchten, können Sie die Option –no-title oder -t verwenden.
# watch -t -d ls -lt total 0 -rw-r--r-- 1 root root 0 Feb 14 10:47 new_file_just_created -rw-r--r-- 1 root root 0 Feb 14 10:46 file1 -rw-r--r-- 1 root root 0 Feb 14 10:46 file2 -rw-r--r-- 1 root root 0 Feb 14 10:46 file3
Beispiel 4:Hervorhebung der kumulativen Differenz
Falls Sie den kumulativen Unterschied in der Ausgabe hervorheben möchten, können Sie den Schalter -d=cumulative im Befehl verwenden. Zum Beispiel :
Die Ausgabe nach dem Hinzufügen einer neuen Datei – new_file1 :
Die Ausgabe nach dem Hinzufügen einer weiteren neuen Datei – new_file2 :