Продолжаем рассматривать полезные команды в Linux. Команда (утилита) watch позволяет запускать другие команды по расписанию (если точнее, через одинаковые промежутки времени) и отображать вывод запускаемых команд в окне терминала.
Синтаксис команды watch:
watch [параметры] [команда_для_вывода]
Рассмотрим параметры команды watch.
-d — данные в выводе команды, которые отличаются от предыдущих, будут подсвечены;
-n — интервал запуска команды (по умолчанию, если не задан данным параметром, две секунды);
-t — отключение отображения заголовка;
-b — включение подачи звукового сигнала, если при выполнении команды возникнет ошибка;
-e — при возникновении ошибки вывод данных будет остановлен;
-g — выход из команды watch, если в выводимых данных возникнут изменения;
-c — интерпретирует последовательность цветов и стилей ANSI;
-x — выполнение команды будет передано интерпретатору sh -c. При использовании полной версии написания (—exec) команда будет выполняться с помощью утилиты exec.
В качестве примера использования команды watch посмотрим изменение текущих даты и времени:
watch date
Вы увидите, что выводимая информация о дате и времени будет изменяться каждый две секунды, так как такой интервал установлен по умолчанию.
Если нужно подсветить изменения, используем немного другую команду:
watch -d date
Как видите, первой подсветилась информация о сменившихся секундах.
Конечно, мониторинг текущего времени это не всё, на что способна команда watch. Как же использовать её на практике? Ну, например, при помощи команды watch очень удобно мониторить использование памяти.
watch -n 10 free -m
В этом примере мы установили интервал обновления информации равным 10 секундам. При установке этого интервала через параметр -n следует учитывать, что значение данного параметра не может быть меньше 0,1, а вот максимальное его значение не ограничено.
То же самое, но без заголовка:
watch -n 10 -t free -m
Ну и напоследок о том, как выйти из работающей утилиты watch. Сделать это можно одной из двух комбинаций клавиш: Ctrl+C или Ctrl+Z.
Статьи по теме: