Наблюдаем за командами



Иногда возникает необходимость запускать ту или иную команду несколько раз. К примеру, если были замечены неполадки в работе сервера и есть основания полагать, что их причина кроется в использовании памяти либо выполнении операций ввода и вывода. Также это может понадобиться для отслеживания изменений в каталогах. Во всех этих и других случаях на помощь придет команда watch.



Например, чтобы следить за средней загрузкой, выполняем:

watch "cat /proc/loadavg"

Каждые две секунды watch будет запускать команду cat. (Для завершения выполнения команды нажмите сочетание клавиш CTRL+C).



Чтобы увеличить частоту обновления до 10 секунд, выполняем:

watch -n 10 "ls -l"



Чтобы выделить разницу между обновлениями на экране, выполните:

watch -d "ls -l"



Для выполнения выделения необходимо, чтобы файлы изменялись. 



Перечень опций невелик, но их достаточно для эффективного использования команды:



-d (--differences) — служит для выделения тех данных в выводе команды, которые отличаются от предыдущих.

-n (--interval seconds) — позволяет установить желаемый интервал запуска команды.

-t (--no-title) — выключает отображение заголовков.

-b (--beep) — если при выполнении команды возникнет ошибка, будет подан звуковой сигнал.

-e (--errexit) — при возникновении ошибки вывод данных будет заморожен, команда watch прекратит работу после нажатия комбинации клавиш.

-g (--chgexit) — выход при условии, что в выводе команды обнаружатся изменения.

-c (--color) — интерпретирует последовательность цветов и стилей ANSI.

-x (--exec) — выполнение команды будет передано интерпретатору sh -c поэтому, возможно, вам придется использовать дополнительные кавычки чтобы добиться желаемого эффекта. При использовании полной версии написания (--exec) команда будет выполняться в с помощью утилиты exec.



Подробнее



@linuxkalii