ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Команда Watch в Linux

Команда Watch в Linux

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

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

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

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

 

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

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

watch [OPTIONS] COMMAND

 

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

watch date

 

Команда Watch в Linux

 

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

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

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

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

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

 

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

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

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

watch -n INTERVAL_IN_SECONDS COMMAND

 

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

watch -n 5 df -h

 

Команда Watch в Linux

 

Выделение разницы между обновлениями

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

watch -d COMMAND

 

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

watch -d uptime

 

Команда Watch в Linux

 

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

watch -d=cumulative COMMAND

 

Команды с pipes

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

watch 'COMMAND_1 | COMMAND_2'

 

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

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

 

Заключение

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

Exit mobile version