Команда watch в Linux

В этом руководстве мы познакомим вас с командой watch .

watch используется для запуска любой произвольной команды через равные промежутки времени и отображает вывод команды в окне терминала.

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

Утилита watch является частью пакета procps (или procps-ng ), который предварительно установлен почти во всех дистрибутивах Linux.

Как использовать команду watch

Синтаксис команды watch следующий:

watch [OPTIONS] COMMAND

Чтобы лучше проиллюстрировать, как работает команда watch давайте запустим команду date :

watch date

Как вы можете видеть на изображении выше, команда watch временно очистит все содержимое терминала и начнет выполнение предоставленной команды через равные промежутки времени. При использовании без какой-либо опции watch будет запускать указанную команду каждые две секунды.

В верхнем левом углу заголовка экрана вы можете увидеть интервал обновления watch и выполненную команду ( Every 2.0s: date ), а в верхнем левом углу watch показывают текущее время и дату. Если вы хотите отключить заголовок, используйте параметр -t ( --no-title ).

Вывод указанной команды отображается на экране и регулярно обновляется каждые две секунды.

Чтобы выйти из команды watch , просто нажмите Ctrl+C Вы также можете настроить watch для выхода при изменении вывода команды, используя параметр -g ( --chgexit ).

В следующих разделах мы рассмотрим наиболее часто используемые параметры команды watch .

Как изменить временной интервал

Что делать, если интервал обновления по умолчанию в две секунды не подходит для вашего варианта использования?

Параметр -n ( --interval ), за которым следует желаемое количество секунд, позволяет вам изменить временной интервал между обновлениями:

watch -n INTERVAL_IN_SECONDS COMMAND

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

watch -n 5 df -h

Подчеркивая разницу между обновлениями

Параметр -d ( --difference ) заставит watch выделять изменения между последовательными обновлениями.

watch -d COMMAND

Допустим, вы хотите контролировать время безотказной работы системы, выполнив команду uptime и выделив изменения. Команда будет такой:

watch -d uptime

Если вы хотите, чтобы блики были липкими, передайте =cumulative параметру -d . Это означает, что все значения, которые когда-либо изменялись, останутся выделенными.

watch -d=cumulative COMMAND

Команды с конвейерами

Если вы хотите выполнить команду, содержащую каналы, вам необходимо заключить команду в одинарные или двойные кавычки. Если вы не заключите полную команду, watch запустит только первую команду, а затем передаст ее вывод следующей команде в конвейере.

watch 'COMMAND_1 | COMMAND_2'

Например, следующая команда будет отслеживать количество активных соединений на порту 80 используя комбинацию утилит netstat и grep :

watch "netstat -anp | grep -c ':80b.*LISTEN'"

Выводы

К настоящему времени вы должны хорошо понимать, как использовать команду Linux watch . Вы всегда можете просмотреть все доступные параметры команды watch , набрав в терминале man watch .

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

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