Der Befehl watch führt einen beliebigen Befehl in regelmäßigen Abständen aus und zeigt die Ausgabe im Terminal an. Das macht ihn zum idealen Werkzeug, um Systemzustände wie Speicherplatz, Netzwerkverbindungen oder Prozesse in Echtzeit zu überwachen.

Das Programm ist Teil des procps-Pakets (bzw. procps-ng) und auf den meisten Distributionen vorinstalliert.

Syntax des watch-Befehls

watch [OPTIONEN] BEFEHL
  • OPTIONEN – Flags, die das Verhalten steuern (z. B. Aktualisierungsintervall).
  • BEFEHL – Der Befehl, der wiederholt ausgeführt wird.

Grundlegende Verwendung

Ohne weitere Optionen führt watch den angegebenen Befehl alle zwei Sekunden aus:

watch date

Der Befehl übernimmt das gesamte Terminal. In der Kopfzeile siehst du das Aktualisierungsintervall, den ausgeführten Befehl und die aktuelle Uhrzeit. Die Ausgabe des Befehls erscheint darunter und wird bei jeder Aktualisierung ersetzt.

Beende watch mit Strg+C.

Aktualisierungsintervall ändern

Mit der Option -n (--interval) legst du fest, wie oft der Befehl ausgeführt wird. Der Wert ist in Sekunden angegeben:

watch -n SEKUNDEN BEFEHL

Dieses Beispiel überwacht den Speicherplatz mit df und aktualisiert alle fünf Sekunden:

watch -n 5 df -h

Änderungen hervorheben

Die Option -d (--differences) hebt Unterschiede zwischen aufeinanderfolgenden Ausgaben hervor:

watch -d uptime

Werte, die sich seit der letzten Aktualisierung geändert haben, werden optisch markiert.

Mit -d=cumulative bleiben alle Änderungen dauerhaft hervorgehoben – nicht nur die der letzten Aktualisierung:

watch -d=cumulative uptime

Kopfzeile ausblenden

Wenn du nur die Befehlsausgabe sehen möchtest, ohne die Kopfzeile mit Intervall und Uhrzeit, verwende die Option -t (--no-title):

watch -t date

Bei Änderung automatisch beenden

Mit der Option -g (--chgexit) beendet sich watch automatisch, sobald sich die Ausgabe des Befehls ändert:

watch -g ls /tmp

Das ist nützlich, wenn du auf ein bestimmtes Ereignis wartest – etwa das Erscheinen einer Datei.

Befehle mit Pipes

Wenn der zu überwachende Befehl Pipes enthält, setze ihn in Anführungszeichen. Andernfalls führt watch nur den ersten Teil aus:

watch 'BEFEHL_1 | BEFEHL_2'

Dieses Beispiel zählt die aktiven Verbindungen auf Port 80:

watch 'netstat -an | grep -c ":80.*LISTEN"'

Praktische Anwendungsfälle

Speicherplatz überwachen:

watch -n 10 df -h

Arbeitsspeicher beobachten:

watch -n 2 free -h

Aktive Prozesse eines Programms zählen:

watch 'ps aux | grep -c nginx'

Verzeichnisinhalt in Echtzeit verfolgen:

watch -d ls -la /var/log

Zusammenfassung

Der watch-Befehl führt einen Befehl wiederholt aus und zeigt die Ausgabe im Terminal an. Mit -n steuerst du das Intervall, mit -d werden Änderungen hervorgehoben. Für die vollständige Optionsliste verwende man watch.