Watch command je opravdu úhledný nástroj a hodí se v mnoha situacích. Příkaz watch lze použít k pravidelnému sledování libovolného souboru nebo skriptu. Standardně se spouští každé 2 sekundy a poběží až do přerušení.
# 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
Základní syntaxe příkazu watch je :
# watch [-n seconds] [-d] [command]
Zde,
-d flag will highlight the differences between successive updates. -n flag is to specify the interval. The default value is 2 seconds.
Zde je ukázkový výstup:
# 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
Tady,
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.
Příklad 1 :Sledování dynamicky se měnícího souboru jako /proc/meminfo
Existuje způsob, jak monitorovat jakýkoli soubor v systému pomocí příkazu watch.
Příkaz:
# watch -n 10 -d cat /proc/meminfo
vytvoří výstup stavu meminfo každých 10 sekund na obrazovce a zvýrazní, pokud dojde k nějaké změně.
Příklad 2 :hledejte změnu v obsahu adresáře
Dalším vynikajícím využitím příkazu watch je sledovat obsah adresáře a zjistit, zda se nepřidává nebo neodebírá nějaký nový soubor.
# watch -d ls -lt
Přepínač -lt v příkazu ls zobrazí poslední upravený soubor nahoře.
Příklad 3:Odstranění nadpisu/záhlaví z výstupu.
V případě, že nechcete tisknout záhlaví ve výstupu příkazu watch, můžete použít volbu –no-title nebo -t.
# 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
Příklad 4:Zvýraznění kumulativního rozdílu
V případě, že chcete zvýraznit kumulativní rozdíl ve výstupu, můžete v příkazu použít přepínač -d=kumulativní. Například:
Výstup po přidání nového souboru – new_file1 :
Výstup po přidání dalšího nového souboru – new_file2 :