GNU/Linux >> Znalost Linux >  >> Linux

Sledujte:Opakujte Unixové příkazy nebo skripty Shell každých N sekund

Otázka: Někdy chci často opakovat příkaz (nebo skript shellu) (každých několik sekund). Existuje lepší způsob, jak spustit unixový příkaz každých n sekund (místo ručního psaní stejného příkazu)?

Odpověď: Pomocí příkazu watch můžete provést příkaz a každých několik sekund zobrazit jeho výstup. To je velmi užitečné při sledování využití paměti, využití disku atd.,

Pomocí příkazu watch můžete spustit libovolný unixový příkaz. Příkaz Watch bude prováděn, dokud jej neukončíte buď pomocí CTRL+C, nebo neukončíte proces.

Příklad 1:Sledování vytvoření souboru pomocí watch ls

Když očekáváte, že soubor bude vytvořen procesem na pozadí, nebo když očekáváte, že velikost souboru protokolu bude neustále narůstat, můžete skončit prováděním příkazu ls několikrát. Místo toho můžete použít příkaz watch, který provede příkaz ls každé 2 sekundy, jak je uvedeno níže.

$ watch ls
Every 2.0s: ls                                             Thu Apr 15 16:11:58 2010
flash-plugin-10.0.45.2-release.i386.rpm
install_flash_player_10_linux.deb

První řádek výstupu příkazu watch obsahuje následující informace záhlaví:

  • Každé 2,0 s:Časový interval. tj. ls se bude provádět každé 2 sekundy.
  • ls :Unixový příkaz, který se provádí každé 2 sekundy.
  • Čt 15. dubna 16:11:58 2010 :aktuální datum a čas.

Zbývající řádky jsou výstupem příkazu, který watch provádí. V tomto příkladu zobrazuje výstup příkazu ls.

Příklad 2:Zobrazení podrobností o použité a volné paměti (se zvýrazněnými rozdíly)

Volba -d zdůrazňuje rozdíl mezi po sobě jdoucími aktualizacemi.

$ watch -d free -om
Every 2.0s: free -om                               Thu Apr 15 16:11:59 2010

             total	 used       free     shared    buffers     cached
Mem:           992        878        114          0        135        379
Swap:         4095          8       4087

Pokud se výstup paměti ve vašem systému nezmění, vyzkoušejte volbu -d s příkazem date, abyste viděli, jak to funguje.

$ watch -d date

Poznámka :Věděli jste, že můžete zvýraznit změny v horním výstupu příkazu?

Příklad 3:Zobrazení dostupného místa na disku (opakujte každých 10 sekund)

Ve výchozím nastavení používá příkaz watch 2 sekundový interval, můžete jej změnit pomocí volby -n. Následující příklad spustí příkaz df -h každých 10 sekund.

$ watch -n 10 df -h
Every 10.0s: df -h                                Thu Apr 15 16:12:26 2010

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda7              30G  8.6G   20G  31% /
tmpfs                 497M  964K  496M   1% /dev/shm
/dev/sda6             194M   22M  163M  12% /boot

Příklad 4:Potlačení záhlaví sledování ve výstupu

1. řádek výstupu příkazu watch můžete potlačit pomocí volby -t, jak je ukázáno níže.

$ watch -t ls
flash-plugin-10.0.45.2-release.i386.rpm
install_flash_player_10_linux.deb

Linux
  1. Opakovat příkaz Unix každých X sekund navždy?

  2. Použití kláves Vi k úpravě příkazů Shell v Unixu?

  3. Linuxové příkazy od A do Z

  1. Sledujte příkazy a úkoly pomocí příkazu watch v systému Linux

  2. UNIX / Linux :Příklady příkazů historie bash pro opakování posledních příkazů

  3. Barvy s unixovými příkazovými hodinkami?

  1. 20 základních příkazů Linuxu pro každého uživatele

  2. 10 příkazů, které by měl znát každý uživatel Linuxu

  3. Jak spustit nebo opakovat příkaz Linuxu každých X sekund navždy