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

12 set 2022 2 min di lettura
Как использовать команду Watch в Linux
Indice dei contenuti

Введение

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

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

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

Как использовать команду «Смотреть»

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

watch [OPTIONS] COMMAND

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

watch date

Вы должны увидеть экран, подобный следующему:

Every 2.0s: date TEST-SERVER-1: Sat Dec 7 18:15:37 2019

 Sat Dec 7 18:15:37 CET 2019

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

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

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

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

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

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

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

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

watch -n INTERVAL_IN_SECONDS COMMAND

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

watch -n 5 df -h
Every 5.0s: df -h TEST-SERVER-1: Sat Dec 7 18:19:19 2019

 Filesystem Size Used Avail Use% Mounted on
 udev 959M 0 959M 0% /dev
 tmpfs 195M 652K 194M 1% /run
 /dev/sda1 19G 2.3G 16G 13% /tmpfs 973M 0 973M 0% /dev/shm
 tmpfs 5.0M 0 5.0M 0% /run/lock
 tmpfs 973M 0 973M 0% /sys/fs/cgroup
 tmpfs 195M 0 195M 0% /run/user/0

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

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

watch -d COMMAND

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

watch -d uptime
Every 2.0s: uptime TEST-SERVER-1: Sat Dec 7 18:21:02 2019

 18:21:02 up 7 days, 1:49, 1 user, load average: 0.00, 0.00, 0.00

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

watch -d=cumulative uptime

Команды с трубой

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

watch 'COMMAND_1 | COMMAND_2'

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

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

Вывод

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

man watch
Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.