Úvod
Chcete-li při práci v Linuxu opakovaně spouštět příkaz nebo úlohu v pravidelných časových intervalech, můžete použít úlohy cron nebo bash skripty. Linux však nabízí i přímočařejší, vestavěné řešení – watch
příkaz.
V tomto tutoriálu se naučíte watch
syntaxi příkazů, jak to funguje a různé věci, které vám může pomoci.
Předpoklady
- Systém s distribucí Linuxu (přečtěte si, jak nainstalovat Ubuntu 20.04, jak nainstalovat CentOS 7 nebo jak nainstalovat Arch Linux)
- Účet s právy sudo
- Přístup do okna terminálu/příkazového řádku
Přehled příkazů hodinek Linux
watch
command je vestavěná linuxová utilita používaná ke spouštění uživatelem definovaných příkazů v pravidelných intervalech. Dočasně vymaže veškerý obsah terminálu a zobrazí výstup připojeného příkazu spolu s aktuálním systémovým datem a časem.
Ve výchozím nastavení watch
příkaz aktualizuje výstup každé dvě sekundy. Stiskněte Ctrl+C pro ukončení výstupu příkazu.
watch
je užitečný, když potřebujete sledovat změny ve výstupu příkazu v průběhu času. To zahrnuje využití disku, dobu provozuschopnosti systému nebo chyby sledování.
Syntaxe příkazu Linux Watch
watch
používá následující syntaxi:
watch [option] [command]
Kde:
[option]
:Přidání možnosti změní způsobwatch
příkaz se chová. Dostupné možnosti jsou uvedeny níže.[command]
:Uživatelem definovaný příkaz, který chcete spouštět opakovaně.
watch
možnosti příkazu zahrnují:
-n , --interval | Umožňuje zadat interval mezi aktualizacemi výstupu. |
-d , --differences | Zvýrazňuje rozdíly mezi aktualizacemi výstupu. |
-g , --chgexit | Ukončí watch při změně výstupu uživatelem definovaného příkazu. |
-t , --no-title | Odstraní záhlaví zobrazující interval, příkaz a aktuální čas a datum. |
-b , --beep | Pokud příkaz skončí s chybou, přehraje zvukové upozornění (pípnutí). |
-p , --precise | Pokusí se spustit příkaz po přesném počtu sekund definovaném --interval možnost. |
-e , --errexit | Zastaví aktualizace výstupu při chybě a ukončí příkaz po stisknutí klávesy. |
-c , --color | Interpretuje sekvence barev a stylů ANSI. |
-x , --exec | Předá uživatelsky definovaný příkaz do exec , což snižuje potřebu dalších citací. |
-w , --no-linewrap | Vypne zalamování řádků a místo toho zkrátí dlouhé řádky. |
-h , --help | Zobrazí text nápovědy a ukončí se. |
-v , --version | Zobrazí informace o verzi a ukončí se. |
Příklady příkazů Linux Watch
Zde jsou některé ze způsobů, jak můžete watch
používat možnosti příkazů k dosažení různých výsledků:
Spustit příkaz s vlastním intervalem
Nastavte vlastní interval pro spuštění uživatelem definovaného příkazu a zobrazte výstup pomocí -n
nebo --interval
možnost:
watch -n [interval in seconds] [command]
Chcete-li například zobrazit systémový čas a datum každých 5 sekund, spusťte:
watch -n 5 date
Zvýraznění změn mezi aktualizacemi
Použijte -d
nebo --difference
možnost zvýraznění změn mezi po sobě jdoucími aktualizacemi výstupu:
watch -d [command]
Například zobrazte systémové datum a čas ve výchozím 2sekundovém intervalu se zvýrazněnými změnami:
watch -d date
Předejte =cumulative
na -d
Pokud chcete, aby všechny hodnoty, které se kdy změnily, zůstaly zvýrazněny:
watch -d=cumulative date
Ukončit při změně
-g
nebo --chgexit
volba způsobí ukončení příkazu watch, pokud dojde ke změně ve výstupu:
watch -g [command]
Například přidání příkazu free monitoruje spotřebu paměti vašeho systému a ukončí se, pokud se hodnota změní:
watch -g free
Skrýt záhlaví příkazu hodinek
Vypněte záhlaví obsahující čas intervalu, uživatelsky definovaný příkaz a aktuální systémový čas v watch
výstup příkazu pomocí -t
nebo --no-title
možnost:
watch -t [command]
Vrátíme se k příkladu zobrazení systémového data a času, tentokrát bez záhlaví:
watch -t date
Upozornění na chybu
watch
příkaz používá balíček pípnutí k přehrání zvukového upozornění, pokud se aktualizace výstupu nezdaří kvůli chybě. Chcete-li to provést, použijte -b
nebo --beep
možnost:
watch -b [command]
Používání složitých příkazů
watch
příkaz také umožňuje používat složitější uživatelsky definované příkazy s vlastními argumenty a volbami. Jedním ze způsobů, jak toho dosáhnout, je použít zpětné lomítko ('\' ) symbol:
watch [options] \
Pomocí výše uvedeného příkazu se dostanete na další řádek v terminálu, kde je třeba přidat uživatelsky definovaný příkaz. Jakmile stisknete Enter , provede příkaz. Například:
watch -n 5 \
echo "watch command example output"
Další možností je přidat uživatelsky definovaný příkaz v jednoduchých uvozovkách:
watch [options] '[command]'
Pomocí výše uvedeného příkladu by příkaz byl:
watch -n 5 'echo "watch command example output"'