Pokud zjistíte, že spouštíte stejný příkaz znovu a znovu, může existovat lepší způsob.

Někdy potřebujete opakovaně spouštět příkaz nebo program, abyste mohli sledovat různé aspekty vašeho systému, jako jsou probíhající procesy, využití místa na disku nebo přihlášení uživatelů. Příkaz watch v Linuxu vám umožňuje automatizovat tyto úlohy, aniž byste je museli znovu a znovu ručně spouštět.

Pomocí tohoto příkazu můžete sledovat systémové aktivity v reálném čase, jako jsou přihlášení uživatelů, stav sítě, využití paměti a CPU, místo na disku atd. Podívejme se, jak používat příkaz watch v Linuxu.

Co je příkaz Watch?

Příkaz watch Linux spouští zadaný příkaz nebo program opakovaně v pravidelných intervalech a zobrazuje jeho výstup v terminálu. To vám umožní sledovat změny ve výstupu v reálném čase. Obnovuje výstup v každém intervalu a přepisuje předchozí výstup příkazu. Ve výchozím nastavení se příkaz opakuje každé dvě sekundy a pokračuje, dokud jej ručně nezastavíte Ctrl + C.

Sledujte syntaxi příkazů

instagram viewer

Syntaxe příkazu watch je:

watch options 

Pro použití s ​​příkazem watch jsou k dispozici různé možnosti příkazového řádku. Pokud spustíte příkaz watch bez jakýchkoli voleb, spustí se zadaný příkaz po každých dvou sekundách. Například následující vám ukáže výstup příkazu ls:

watch ls -l ~/

Výstup vám ukáže změny ve výpisu adresáře, pokud je soubor vytvořen, odstraněn nebo změněna velikost, přičemž výstup bude obnovován každé dvě sekundy.

Spusťte příkaz každých X sekund pomocí hodinek

Můžete změnit interval aktualizace příkazu watch. To znamená, že příkazu watch můžete říct, aby počkal x sekund, než příkaz zopakuje. Chcete-li změnit interval aktualizace, použijte -n možnost následovaná časovým intervalem v sekundách.

watch -n 

Chcete-li například spustit příkaz po každých 5 sekundách, spusťte:

watch -n 5 

Zvýrazněte změny mezi aktualizacemi

Příkaz watch přepíše svůj výstup při každém obnovení. Za použití -d můžete také zvýraznit změny mezi předchozím a aktualizovaným výstupem.

watch -d

Ve výchozím nastavení příkaz watch zobrazuje v horní části každého výstupu záhlaví, které obsahuje interval aktualizace, název příkazu a aktuální datum a čas systému. Záhlaví můžete z výstupu odstranit pomocí -t volba:

watch -t 

Přehrát Pípnutí při chybě

Když proces Linuxu skončí, vrátí návratový kód. Podle konvence je hodnota 0 při úspěchu a nenulová, což představuje chybu. Příkaz k hodinkám -b volba přehraje pípnutí, pokud příkaz vrátí nenulový návrat.

Řekněme, že chcete sledovat sshd.service a dostávat upozornění, když se služba zastaví; použili byste:

watch -b sudo systemctl status sshd.service

Tento příkaz vydá pípnutí, když se služba zastaví. Pípání se zastaví, když se služba obnoví. Chcete-li to vyzkoušet, otevřete další okno terminálu a zastavte službu. To bude neustále pípat, dokud službu znovu nespustíte. Chcete-li však tuto funkci používat, musíte mít v systému nainstalovaný balíček pípnutí.

Ukončete příkaz watch při změně výstupu

Příkazu watch můžete také říci, aby se zastavil a skončil, když se výstup příkazu změní. Můžete to udělat pomocí -G volba. Tato možnost je velmi užitečná ve scénářích, kdy čekáte na určité změny ve výstupu.

Jakmile se výstup změní, příkaz watch se zastaví. Toto použití můžete kombinovat s příkazem echo pro zobrazení zprávy na obrazovce.

Zvažte například scénář, kdy čekáte, až soubor dorazí do vašeho adresáře. Následující příkaz bude sledovat adresář pro zadaný soubor. Jakmile dorazí, přestane běžet příkaz watch a zpráva soubor dorazil se zobrazí na terminálu.

watch -g "ls -l | grep filename" && echo "file arrived"

Dalším užitečným příkladem je upozornění, když se do vašeho systému přihlásí konkrétní uživatel:

watch -g "who | grep username" && echo "username logged in"

Tento příkaz bude monitorovat výstup příkaz who, který uvádí přihlášené uživatele. Jakmile se uživatel přihlásí, příkaz watch se zastaví a na terminálu se zobrazí zpráva.

Podobně můžete příkazu watch říci, aby zastavil službu, když jsou v souboru provedeny nějaké změny. Mějte na paměti, že při použití zřetězeného řetězce příkazů budete muset celý příkaz uzavřít do uvozovek.

Sledujte aktivity ve vašem systému Linux

Pokud zjistíte, že děláte stejný proces opakovaně, zvažte použití příkazu watch k jeho automatizaci. Ušetří vám to časté psaní příkazů, abyste viděli, co se změnilo.

Příkaz watch můžete také použít s dalšími příkazy Linuxu k monitorování systémových prostředků a aktivit a sledování změn v souborech nebo adresářích.