Кратко: watch в Linux
А давно я сюда не заглядывал…
В данной статье речь пойдет об утилите watch. Кратко написано как пользоваться.
Watch это unix-утилита, которая запускает определённую программу через фиксированный интервал времени.
Данная утилита как правило есть во всех популярных дистрибутивах, но если при ее запуске вы получаете ошибку о неизвестной команде, то ее можно поставить следующим образом:
Debian:
sudo apt-get install watch
RHEL/CentOS:
sudo yum install watch
Fedora:
sudo dnf install watch
openSUSE:
sudo zypper install watch
Arch Linux:
sudo pacman -S watch
С установкой вроде разобрались, теперь разберемся как пользоваться.
Простейший пример использования команды:
watch date
Результат ее работы будет следующий:
Чтобы остановить выполнение команды, нужно воспользоваться сочетанием клавиш Ctrl+C.
По умолчанию интервал времени составляет 2 секунды, но его можно изменить указав ключ -n и интервал в секундах, например:
watch -n 1 date
Результат будет такой:
Так же данная утилита имеет возможность показывать разницу в выдаваемых результатах, подсвечивая изменившийся «вывод» команды. Делается это с помощью ключа -d:
watch -d date
Результат будет таков:
Но недостаток ключа -d заключается в том что при каждом обновлении это «выделение» пропадает. Чтобы этого не происходило, и все выделения с момента запуска watch так и оставались на экране, к ключу -d можно указать параметр cumulative, вот пример:
watch -d=cumulative -n1 date
Вот какой будет результат:
Кстати пример выше еще показывает что можно указывать несколько ключей одновременно.
Как то раз мне потребовалось посмотреть активные сетевые соединения отобразив какие программы их используют, а так же отфильтровать результат grep’ом ну и обновлять этот вывод каждую секунду.. Ну так вот, синтаксис команды будет немного другим, а если быть точнее, команду нужно будет брать в «одинарные кавычки». Вот пример моей команды:
watch -n 1 'sudo netstat -A inet --program | grep ch'
Результат будет такой:
На этом думаю эту статью можно закончить.
Источники:
- http://www.linfo.org/watch.html
- https://askubuntu.com/questions/469518/how-can-i-watch-the-output-that-was-filtered-with-grep
- https://ru.wikipedia.org/wiki/Watch
- http://linux-notes.org/ustanovka-watch-v-unix-linux/