3.9.8.11 entr — консольная утилита для автоматизации рабочих процессов
Описание
Синтаксис и параметры утилиты
Примеры работы с утилитой
Окружение
- Версия ОС: 8
- Конфигурация ОС: Рабочая станция
- Редакция ОС: Стандартная
- Архитектура: x86_64
- Версия ПО: entr-5.4-1.red80
entr — утилита командной строки для автоматического запуска задач или процессов при изменении файлов в указанной директории.
Описание
Утилита entr получает список файлов через stdin и запускает указываемые команды при любом изменении этих файлов. Перед обработкой новых событий файловой системы утилита дожидается завершения предыдущего запущенного процесса. Также entr по умолчанию заранее открывает TTY-терминал для корректной работы с интерактивными программами.
Основными возможностями entr являются:
-
отслеживание изменений файлов (создание, модификация, переименование, удаление);
-
запуск процессов и выполнение команд при изменении файлов;
-
фильтрация событий и реакция только на определенные типы изменений (например, на создание файлов);
-
возможность работы в фоновом режиме (режим демона);
-
автоматический перезапуск серверов или запуск сборки;
-
непрерывное тестирование;
-
автоматическое отслеживание создания/изменения файлов журналов, конфигурационных файлов;
-
выполнение действий при изменении системных файлов.
Для установки утилиты через терминал выполните команду (потребуются права администратора):
sudo dnf install entr
Синтаксис и основные параметры утилиты
Основной синтаксис утилиты можно увидеть при вводе команды entr в терминале:
entr entr [-acdnprsz] utility [argument [/_] ...] < filenames
где:
-
-acdnprsz— возможные параметры утилиты entr; -
utility— имя программы или команды, которую необходимо запустить при изменении файлов; -
argument [/_] …— необязательные параметры, которые возможно передать программе или команде; -
< filenames— перенаправление стандартного ввода (stdin). Утилита entr получает список файлов, за которыми нужно следить, через стандартный ввод.
Далее будут рассмотрены основные параметры утилиты.
Для вывода справочной информации об утилите выполните команду:
man entr
Основными параметрами утилиты entr являются:
-
-a— реагировать на каждое изменение файла мгновенно. entr будет отрабатывать без группировки событий. Несовместимо с параметром-r; -
-c— очистить экран терминала перед запуском команды; -
-d— указать директорию, за которой следит entr. Если в данной директории появляется новый файл, entr это заметит и выполнит команду; -
-n— включить не интерактивный режим работы. entr не будет пытаться взаимодействовать с TTY-терминалом; -
-p— отложить, не исполнять команду сразу после запуска entr. Первый запуск команды будет происходить только после изменения файла; -
-r— автоматически запускать процесс и перезапускать его при каждом изменении файла; -
-s— запускать команду через командную оболочку (shell), что позволяет использовать конвеер (|) и другие возможности оболочки; -
-z— завершить работу после выполнения команды (только один раз).
Примеры работы с утилитой
Утилита entr широко применяется для автоматизации процессов в разработке, тестировании и администрировании.
Далее будут рассмотрены простые примеры использования утилиты.
Вывод содержимого текстового файла на экран при каждом его изменении
Создайте текстовый файл text_file с содержимым «Hello, world!» в домашней директории пользователя.
Для вывода содержимого текстового файла на экран при каждом его изменении выполните команду:
echo text_file | entr -p cat text_file
поменяйте содержимое файла на «Hello, new world!»:
Hello, new world!
Мониторинг изменений в директории
Создайте директорию test_dir в домашней директории пользователя командой:
mkdir /home/user/test_dir
Для отображения изменения содержимого директории (добавления новых файлов) выполните команду с циклом:
while :; do find test_dir -type f | entr -dr ls test_dir/; done
При добавлении новых файлов в данную директорию на экран будет выводиться ее содержимое:
text_file_10.odt text_file_9.odt text_file_11.odt text_file_12.odt
Проверка синтаксиса (проверка Python-кода на ошибки при каждом сохранении)
Для проверки синтаксиса скрипта Python при каждом новом его сохранении выполните следующую команду:
ls *.py | entr python -m py_compile /_
Мониторинг файлов журналов
Утилиту entr можно использовать для слежения за изменениями файлов журналов.
Для вывода содержимого файла журналов dnf.log при работе утилиты dnf выполните команду:
tail -f /var/log/dnf.log | entr -p echo
Для вывода только уведомления об изменении файла журналов dnf.log выполните команду:
echo "/var/log/dnf.log" | entr -p echo "Новая запись в журнале dnf.log"
Дата последнего изменения: 26.01.2026
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.