Следи за системой в реальном времени: Магия команды watch в Linux

Следи за системой в реальном времени: Магия команды watch в Linux

Представьте, что вы можете видеть, как ваша система «дышит» — как меняется загрузка процессора, освобождается память или растут логи. Вам больше не нужно постоянно вручную перезапускать одни и те же команды. Команда `watch` в Linux — это ваш личный мониторинговый центр прямо в терминале.

Она незаменима, когда нужно отследить утечку памяти, проанализировать нагрузку на сервер или просто наблюдать за изменениями в каталогах. Эта утилита запускает любую указанную вами команду с заданным интервалом и выводит результат на экран, постоянно его обновляя.

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

Готовы превратить ваш терминал в динамичную панель управления? Мы разберем реальные примеры: от мониторинга свободной памяти до отслеживания средней загрузки системы. Эти знания сэкономят вам часы рутины и поднимут навыки администрирования на новый уровень.

Всё, что скрывалось от ваших глаз, теперь будет как на ладони. Читайте полную статью, чтобы освоить этот мощный инструмент всего за несколько минут!


Иногда возникает необходимость запускать ту или иную команду несколько раз. К примеру, если были замечены неполадки в работе сервера и есть основания полагать, что их причина кроется в использовании памяти либо выполнении операций ввода и вывода. Также это может понадобиться для отслеживания изменений в каталогах. Во всех этих и других случаях на помощь придет команда 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 в Linux

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

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

watch -d date

Следи за системой в реальном времени: Магия команды watch в Linux

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

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

Следи за системой в реальном времени: Магия команды watch в Linux

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

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

watch -t df

Следи за системой в реальном времени: Магия команды watch в Linux

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

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

Выводы

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

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


Кликните на изображение чтобы обновить код, если он неразборчив