Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Команда watch для начинающих (с примерами)

Оригинал: Linux watch Command Tutorial for Beginners (5 Examples)
Автор: Himanshu Arora
Дата публикации: 1 мая 2018 года
Перевод: А. Кривошей
Дата перевода: октябрь 2018 г.

Иногда, работая в командной строке Linux, вам может понадобиться выполнить команду повторно, чтобы отследить изменения в выводе. Вы, вероятно, обрадуетесь, когда узнаете, что есть утилита командной строки, которая позволяет это делать. Она называется Watch, и в этом руководстве мы обсудим ее основные функции, используя несколько простых для понимания примеров.

Прежде чем мы это сделаем, необходимо отметить, что все примеры, используемые в этой статье, были протестированы на Ubuntu 16.04 LTS.

Команда watch

Как уже упоминалось, утилита watch позволяет выполнять команду несколько раз. Ниже приведен синтаксис этой команды:

watch [options] command

И вот как описывает ее работу man-страница утилиты:

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

Ниже приведены некоторые примеры в стиле "вопрос/ответ", которые должны дать вам представление о том, как работает команда watch.

Q1. Как работает команда watch?

В целом использовать watch очень просто - все, что вам нужно сделать, - запустить утилиту с именем команды в качестве входного параметра. Например:

$ watch date

В моей системе вышеприведенная команда выдала следующий результат:

watch date

В первой строке вывода указывается, что вывод команды «date» обновляется через каждые 2 секунды (это интервал времени по умолчанию), далее следует текущая дата/время системы. Вторая строка - это фактический вывод команды «date», который обновляется через каждые пару секунд.

Q2. Как заставить watch выделять отличия в выводе команды?

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

Это можно сделать с помощью параметра командной строки -d. Например:

$ watch -d date

И вот как теперь команда watch подсвечивает изменения:

watch подсвечивает изменения

Q3. Как настроить интервал обновления?

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

Например:

$ watch -n 5 date

Теперь команда будет следить за тем, чтобы результат обновлялся каждые 5 секунд. Обратите внимание, что интервалы менее 0,1 секунды не допускаются.

Q4. Как отключить заголовок в выводе?

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

Например:

$ watch -t date

Так выглядит вывод приведенной выше команды:

отключение заголовков

Q5. Как заставить watch завершать работу при изменении вывода?

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

Например:

$ watch -g free

Таким образом, если потребление памяти в системе изменится, команда watch завершит работу.

Заключение

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