Главная >> Команды >> Команда watch Linux

Команда watch Linux

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

По умолчанию команда watch linux включена почти во все дистрибутивы Linux. Ее задача — запускать указанную пользователем команду через определенные промежутки времени и печатать вывод этой команды в окне терминала. Работу watch можно сравнить с работой tail, с той лишь разницей, что источником вывода является не файл журнала, а другая команда.


Содержание статьи

Команда watch в Linux

Синтаксис и опции

Синтаксис команды watch крайне прост:

watch опции команда_для_вывода

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

  • -d (--differences) — служит для выделения тех данных в выводе команды, которые отличаются от предыдущих.
  • -n (--interval seconds) — позволяет установить желаемый интервал запуска команды.
  • -t (--no-title) — выключает отображение заголовков.
  • -b (--beep) — если при выполнении команды возникнет ошибка, будет подан звуковой сигнал.
  • -e (--errexit) — при возникновении ошибки вывод данных будет заморожен, команда watch прекратит работу после нажатия комбинации клавиш.
  • -g (--chgexit) — выход при условии, что в выводе команды обнаружатся изменения.
  • -c (--color) — интерпретирует последовательность цветов и стилей ANSI.
  • -x (--exec) — выполнение команды будет передано интерпретатору sh -c поэтому, возможно, вам придется использовать дополнительные кавычки чтобы добиться желаемого эффекта. При использовании полной версии написания (--exec) команда будет выполняться в с помощью утилиты exec.

Примеры использования watch

Проще всего продемонстрировать работу команды watch, наблюдая за тем, как компьютер использует оперативную память:

watch free -m

В данном случае не были использованы опции команды watch, зато к выполняемой команде free пришлось добавить параметр -m, который отвечает за отображение свободной памяти RAM. Так тоже можно и нужно делать, чтобы получить искомый результат.

Чтобы не запоминать каким был предыдущий результат вывода и не отслеживать изменения самостоятельно, стоит поручить эту работу опции -d. Она подсвечивает ту информацию, которая отличается от предыдущей:

watch -d date

На каждом из скриншотов в верхней строке есть надпись «Every 2,0s». Она означает, что программа перезапускается каждые 2 секунды. Этот интервал установлен по умолчанию, но его можно изменить, используя опцию -n.

watch -n5 -d 'cat /proc/loadavg'

Обратите внимание на то, что значение -n не может быть меньше 1. Верхняя планка не ограничена.

Если возникла необходимость получить на экране терминала больше места для полезных данных, можно убрать заглавную информацию. Для этого предназначена опция -t.

watch -t df

Интервал обновления, опции команды и текущая дата больше не отображаются.

Что касается выхода из утилиты watch, то он осуществляется при нажатии клавиш Ctrl+C или Ctrl+Z. Пока пользователь не воспользуется одной из этих комбинаций, команда будет выполняться с заданными параметрами.

Выводы

Команда watch linux — это простой и эффективный инструмент для всех, кто занимается администрированием серверов. Впрочем, и обычные пользователи могут найти ей применение. Если у вас возникли вопросы относительно использования watch на компьютерах с установленной операционной системой Linux, задавайте их в комментариях.

Pеклама
Посмотреть детали

Anubis – это максимально легкое open-source решение, созданное специально для защиты небольших веб-ресурсов от бесконечного потока запросов от ботов и AI парсеров. Этот инструмент можно считать "ядерным вариантом", потому что он заставляет ботов выполнять вычисления похожие на майнинг криптовалюты. Но это неплохая альтернатива для тех, кто не может или не хочет использовать Cloudflare. Посмотреть детали

Creative Commons License
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

7 комментариев к “Команда watch Linux”

  1. ...выполнение команды будет передано интерпретатору sh с задействованием оболочки ***dash***

    Не опечатка ли это?

    Ответить

Оставьте комментарий