Watch linux несколько команд
Думаю вы сталкивались когда с проблемой что должны запустить одну или другую команду в определённое время или каждые x секунд. В сегодняшней статье мы поговорим именно о такой команде в Linux которая дает возможность это сделать. Используйте её по вашему усмотрению, дома или на работе, в принципе как вам удобно.
Команда Watch
Команда Watch является командой Linux которая дает возможность запускать любую программу или осуществить повтор команд в Linux периодически или в интервале в несколько секунд, а также показывает вам действия на экране. Интервал запуска может быть изменен по вашим критериям.
3 января стартует курс «SQL-injection Master» © от команды The Codeby
За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.
На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.
Запись на курс до 10 января. Подробнее .
Запуск и повтор
Watch очень прост в использовании, допустим вы хотите запустить какой-то фаил программу или скрипт с интервалом в 5 секунд.
-n ( Определяет интервал запуска. В нашем случае file.sh будет запускаться каждые 5 секунд )
Параметр легко может быть изменен по вашим нуждам всего лишь изменяя цифру после -n .
Будьте внимательны . Минимальное время запуска не может быть меньше 0.1 сек.
Также вы можете запускать и моторизировать любые программы с помощью этой команды.
К примеру вы хотите запустить свободную программу:
Надеюсь Watch избавит вас от многих проблем с запуском или мониторингом чего там вам угодно.
1 декабря стартует зимний поток курса " Тестирование Веб-Приложений на проникновение " от команды codeby . Общая теория, подготовка рабочего окружения, пассивный фаззинг и фингерпринт, активный фаззинг, уязвимости, пост-эксплуатация, инструментальные средства, Social Engeneering и многое другое. На курс можно записаться до 10 декабря включительно. Подробнее .
Иногда возникает необходимость запускать ту или иную команду несколько раз. К примеру, если были замечены неполадки в работе сервера и есть основания полагать, что их причина кроется в использовании памяти либо выполнении операций ввода и вывода. Также это может понадобиться для отслеживания изменений в каталогах. Во всех этих и других случаях на помощь придет команда watch.
По умолчанию команда watch linux включена почти во все дистрибутивы Linux. Ее задача — запускать указанную пользователем команду через определенные промежутки времени и печатать вывод этой команды в окне терминала. Работу watch можно сравнить с работой tail, с той лишь разницей, что источником вывода является не файл журнала, а другая команда.
Команда watch в Linux
Синтаксис и опции
Синтаксис команды watch крайне прост:
watch опции команда_для_вывода
Перечень опций невелик, но их достаточно для эффективного использования команды:
- -d (--differences) — служит для выделения тех данных в выводе команды, которые отличаются от предыдущих.
- -n (--interval seconds) — позволяет установить желаемый интервал запуска команды.
- -t (--no-title) — выключает отображение заголовков.
- -b (--beep) — если при выполнении команды возникнет ошибка, будет подан звуковой сигнал.
- -e (--errexit) — при возникновении ошибки вывод данных будет заморожен, команда watch прекратит работу после нажатия комбинации клавиш.
- -g (--chgexit) — выход при условии, что в выводе команды обнаружатся изменения.
- -c (--color) — интерпретирует последовательность цветов и стилей ANSI.
- -x (--exec) — выполнение команды будет передано интерпретатору sh -c поэтому, возможно, вам придется использовать дополнительные кавычки чтобы добиться желаемого эффекта. При использовании полной версии написания (--exec) команда будет выполняться в с помощью утилиты exec.
Примеры использования watch
Проще всего продемонстрировать работу команды watch, наблюдая за тем, как компьютер использует оперативную память:
В данном случае не были использованы опции команды watch, зато к выполняемой команде free пришлось добавить параметр -m, который отвечает за отображение свободной памяти RAM. Так тоже можно и нужно делать, чтобы получить искомый результат.
Чтобы не запоминать каким был предыдущий результат вывода и не отслеживать изменения самостоятельно, стоит поручить эту работу опции -d. Она подсвечивает ту информацию, которая отличается от предыдущей:
На каждом из скриншотов в верхней строке есть надпись «Every 2,0s». Она означает, что программа перезапускается каждые 2 секунды. Этот интервал установлен по умолчанию, но его можно изменить, используя опцию -n.
watch -n5 -d 'cat /proc/loadavg'
Обратите внимание на то, что значение -n не может быть меньше 1. Верхняя планка не ограничена.
Если возникла необходимость получить на экране терминала больше места для полезных данных, можно убрать заглавную информацию. Для этого предназначена опция -t.
Интервал обновления, опции команды и текущая дата больше не отображаются.
Что касается выхода из утилиты watch, то он осуществляется при нажатии клавиш Ctrl+C или Ctrl+Z. Пока пользователь не воспользуется одной из этих комбинаций, команда будет выполняться с заданными параметрами.
Выводы
Команда watch linux — это простой и эффективный инструмент для всех, кто занимается администрированием серверов. Впрочем, и обычные пользователи могут найти ей применение. Если у вас возникли вопросы относительно использования watch на компьютерах с установленной операционной системой Linux, задавайте их в комментариях.
Нет похожих записей
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.
В этом руководстве мы познакомим вас с командой watch .
watch используется для запуска любой произвольной команды через равные промежутки времени и отображает вывод команды в окне терминала.
Это полезно, когда вам нужно многократно выполнять команду и наблюдать, как выходные данные команды меняются с течением времени. Например, вы можете использовать команду watch для отслеживания времени безотказной работы системы или использования диска.
Утилита watch является частью пакета procps (или procps-ng ), который предварительно установлен почти во всех дистрибутивах Linux.
Как использовать команду watch
Синтаксис команды watch следующий:
Чтобы лучше проиллюстрировать, как работает команда watch давайте запустим команду date :
Как вы можете видеть на изображении выше, команда watch временно очистит все содержимое терминала и начнет выполнение предоставленной команды через равные промежутки времени. При использовании без какой-либо опции watch будет запускать указанную команду каждые две секунды.
В верхнем левом углу заголовка экрана вы можете увидеть интервал обновления watch и выполненную команду ( Every 2.0s: date ), а в верхнем левом углу watch показывают текущее время и дату. Если вы хотите отключить заголовок, используйте параметр -t ( --no-title ).
Вывод указанной команды отображается на экране и регулярно обновляется каждые две секунды.
Чтобы выйти из команды watch , просто нажмите Ctrl+C Вы также можете настроить watch для выхода при изменении вывода команды, используя параметр -g ( --chgexit ).
В следующих разделах мы рассмотрим наиболее часто используемые параметры команды watch .
Как изменить временной интервал
Что делать, если интервал обновления по умолчанию в две секунды не подходит для вашего варианта использования?
Параметр -n ( --interval ), за которым следует желаемое количество секунд, позволяет вам изменить временной интервал между обновлениями:
Например, чтобы отслеживать использование дискового пространства с помощью команды df и обновлять экран каждые пять секунд, вы должны выполнить:
Подчеркивая разницу между обновлениями
Параметр -d ( --difference ) заставит watch выделять изменения между последовательными обновлениями.
Допустим, вы хотите контролировать время безотказной работы системы, выполнив команду uptime и выделив изменения. Команда будет такой:
Если вы хотите, чтобы блики были липкими, передайте =cumulative параметру -d . Это означает, что все значения, которые когда-либо изменялись, останутся выделенными.
Команды с конвейерами
Если вы хотите выполнить команду, содержащую каналы, вам необходимо заключить команду в одинарные или двойные кавычки. Если вы не заключите полную команду, watch запустит только первую команду, а затем передаст ее вывод следующей команде в конвейере.
Например, следующая команда будет отслеживать количество активных соединений на порту 80 используя комбинацию утилит netstat и grep :
Выводы
К настоящему времени вы должны хорошо понимать, как использовать команду Linux watch . Вы всегда можете просмотреть все доступные параметры команды watch , набрав в терминале man watch .
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Вы когда-нибудь были в ситуации, когда вам приходилось несколько раз запускать определенную команду Linux?
Ну, если вы еще не знаете , этот учебник научит вас, как это сделать.
Конечно, вы можете сделать это, используя скрипт оболочки или задания cron.
Кроме того, вы можете повторить команду Linux с определенным интервалом без необходимости вручную запускать ее каждый раз.
Вот где команда Watch пригодится.
Эта команда может использоваться для повторного выполнения данной команды и контроля вывода в полноэкранном режиме.
Чтобы выразить это простыми словами, мы можем использовать команду Watch для запуска команды Linux каждые X секунд навсегда, и команда будет продолжать отображать вывод в консоли до тех пор, пока мы не остановим ее вручную, нажав CTRL + C, или убейте процесс или заставьте систему перезагрузится .
По умолчанию программа запускается каждые 2 секунды, или вы можете определить временной интервал по вашему выбору.
Запуск команды Linux каждые X секунд
Синтаксис команды watch:
Ниже я привел пять примеров, объясняющих, где вы можете использовать команду watch для повторного запуска определенных команд Linux.
Пример 1:
Скажем, вы хотите запустить команду «uptime» каждые 2 секунды, чтобы контролировать время безотказной работы вашей системы.
Для этого просто запустите:
Это будет продолжаться до тех пор, пока вы не закончите вручную.
Чтобы выйти из команды, нажмите CTRL + C.
Пример 2
Как я упоминал ранее, команда watch выполняет программу каждые 2 секунды по умолчанию.
Мы можем изменить его на определенный интервал, например 5 секунд, используя параметр -n.
Отобразим использование дискового пространства файловой системы каждые 5 секунд.
Чтобы проверить, действительно ли эта команда работает, создайте или удалите любой файл / папку.
Вы заметите, что свободное пространство изменилось на выходе после создания или удаления файлов / папок.
Чтобы просмотреть содержимое каталога, запустите:
Здесь флаг «-d или -differences» будет выделять различия между последовательными обновлениями.
Кроме того, вы можете отображать содержимое изменения каталога, которое принадлежит определенному пользователю ( например sk).
Это может быть полезно в многопользовательской системе.
Пример 4
Чтобы отобразить информацию о памяти, запустите:
Пример 5
Для отображения вывода команды du каждые 10 секунд вы можете использовать:
Это действие отслеживает использование диска каждые 10 секунд, пока вы не выйдете из режима ti вручную.
Заключение
Теперь вы знаете, как выполнять команду каждые X секунд с помощью команды «watch».
Как правило, команда Watch используется для мониторинга использования диска и использования памяти.
Не путайте эту команду с другими инструментами мониторинга.
Эта команда намеревается выполнить команду каждую конкретную секунду всегда, пока вы ее не остановите вручную.
Читайте также: