MultiTail - просматривайте несколько файлов одновременно
СИНТАКСИС
multitail [options]
options: [-cs|-Cs|-c-] [-s] [-i] inputfile [-i anotherinputfile] [...]
ОПИСАНИЕ
Программа MultiTail позволяет просматривать один или несколько файлов, как и оригинальная программа tail. Разница заключается в том, что она создает несколько окон в вашем консольном интерфейсе (с использованием ncurses). Она также может отслеживать подстановочные знаки: если другой файл, соответствующий подстановочному знаку, имеет более позднюю дату изменения, он автоматически переключится на этот файл. Таким образом, вы можете, например, отслеживать целую директорию файлов. Возможно объединение двух или более файлов журналов. Она также может использовать цвета при отображении файлов журналов (с помощью регулярных выражений) для более быстрого определения того, что важно, а что нет. Она также может фильтровать строки (опять же, с помощью регулярных выражений). В ней есть интерактивные меню для редактирования заданных регулярных выражений, удаления и добавления окон. Также можно иметь окна с выводом скриптов оболочки и другого программного обеспечения. При просмотре вывода внешнего программного обеспечения MultiTail может имитировать функциональность таких инструментов, как 'watch' и т. д. Когда для текущего пользователя приходит новая почта, строки состояния становятся зелеными. Чтобы сбросить состояние "почта получена", нажмите ' ' (пробел). Для получения справки в любое время нажмите F1.
ОПЦИИ
-i file
Выберите файл для мониторинга. Вы можете использовать несколько параметров -i file. Вам нужно добавлять -i file только перед именем файла, если имя файла начинается с дефиса ('-').
-I file
То же, что и -i file, но добавляет вывод в предыдущее окно (т. е. вывод объединяется).
-iw file interval
-Iw file interval Аналогично '-i'/'–I', но предполагает, что параметр является подстановочным знаком, а второй(!) — интервалом. Изначально MultiTail начнет отслеживать первый файл с самой последней датой изменения. Через каждый интервал он будет проверять, были ли созданы (или изменены) какие-либо новые файлы, и начнет отслеживать их. *Не забудьте* заключить имя файла в кавычки, иначе оболочка попытается их подставить!
-l command
Команда для выполнения в окне. Параметр — это команда. Не забудьте использовать кавычки, если внешней команде нужны параметры (например, -l "ping host").
-L command
То же, что и -l, но добавляет вывод в предыдущее окно (т. е. вывод объединяется).
-j Чтение из стандартного ввода (можно использовать только один раз, так как есть только один стандартный ввод).
-J То же, что и -j, но добавляет вывод в предыдущее окно (т. е. вывод объединяется).
--mergeall
Объединяет все последующие файлы в одно окно (см. '--no-mergeall').
--no-mergeall
Прекратить объединение всех файлов в одно окно (см. '--mergeall').
--no-repeat
Если одна и та же строка повторяется, она будет подавляться при печати, и будет выводиться сообщение "Последнее сообщение повторено x раз".
--mark-interval x
Каждые 'x' секунд печатать разделительную линию, если ничего другого не было напечатано.
-q i path
Проверять 'path' на наличие новых файлов с интервалом 'i', все в новых окнах. Можно указывать пути, которые понимает оболочка. Например, "/tmp/*". Обратите внимание: не забудьте заключить имя пути в кавычки, чтобы оболочка не обрабатывала его!
-Q i path
Как и -q: но объединять все в одно окно.
--new-only
Для -q/-Q: создавать окна только для файлов, созданных после запуска MultiTail.
--closeidle x
Закрывать окна, если в течение 'x' секунд не было обработано новых данных.
-a x Также записывать вывод в файл 'x' (как 'tee') ПОСЛЕ того, как он был отфильтрован MultiTail. Обратите внимание:
вам нужно поместить "-a file" ПЕРЕД файлом, за которым вы хотите следить!
-A x Также записывать вывод в файл 'x' (как 'tee') ДО того, как он был отфильтрован MultiTail.
См. также примечание для "-a".
-g x Также отправлять вывод в команду 'x' ПОСЛЕ того, как он был отфильтрован MultiTail.
-G x Также отправлять вывод в команду 'x' ДО того, как он был отфильтрован MultiTail.
-S Добавлять в начало объединенного вывода номер под-окна.
-t title
С помощью этого переключателя вместо имени файла или командной строки в строке состояния будет отображаться "title".
-n number_of_lines
Количество строк для отображения в начале. Значение по умолчанию зависит от размера терминального окна.
-N number_of_lines
Как -n, но этот параметр будет использоваться для всех файлов/команд, за которыми вы будете следить после этого параметра.
-r interval
Перезапускать команду (запущенную с помощью -l/-L) после ее завершения. С помощью интервала можно указать, как долго ждать перед перезапуском.
-R interval
Перезапускает команду, как и -r, но показывает разницу в выводе по сравнению с предыдущим запуском.
-rc / -Rc interval
Как -r / -R, но очищает окно перед каждой итерацией.
-h Справка.
-f Следить за следующим именем файла, а не за дескриптором.
--follow-all
Для всех файлов после этого переключателя: следить за следующим именем файла, а не за дескриптором.
-fr filter
Использовать предопределенный фильтр(ы) из файла конфигурации.
-e Использовать следующее регулярное выражение для следующего файла.
-ex Использовать регулярное выражение для следующего файла и выполнять команду при совпадении.
Команда получает в качестве параметра командной строки всю совпадающую строку.
-eX Как и '-ex', но передавать только совпадающую подстроку в качестве параметра. Это требует регулярное выражение с '(' и ')'.
-ec Использовать регулярное выражение для следующего файла и отображать совпадения.
-eC Использовать регулярное выражение для следующего файла, но отображать все и отображать совпадения инвертированными цветами.
-E Использовать следующее регулярное выражение для следующих файлов.
-v Инвертировать следующее регулярное выражение.
-s x Разделить экран вертикально на 'x' столбцов.
-sw x Указать позицию разделения экрана. Например, '-sw 20,40,,10' (=4 столбца).
-sn x Количество окон в колонке для вертикального разделения (используется с -s или -sw). Например, '-sn 3,,2'.
-wh x Устанавливает высоту окна (рекомендация: если оно не помещается, высота корректируется).
-cS схема
Отображает следующий файл, используя цветовую схему, выбранную с помощью 'схема' (как определено в multitail.conf).
-CS схема
Отображает все последующие файлы, используя цветовую схему, выбранную с помощью 'схема' (как определено в multitail.conf).
-csn Дополнительный переключатель для следующих переключателей; не использовать обратные (инвертированные) цвета.
-cs Отображает следующий файл в цвете (syslog).
-c Отображает следующий файл в цвете.
-Cs Отображает все последующие файлы в цвете (через syslog-схему).
-C Отображает все последующие файлы в цвете.
-Cf индекс_поля разделитель
Отображает все последующие файлы в цвете в зависимости от поля, выбранного с помощью индекс_поля. Поля разделены определенным разделителем.
-cf индекс_поля разделитель
Отображает следующий файл в цвете в зависимости от поля, выбранного с помощью индекс_поля. Поля разделены определенным разделителем.
-ci цвет
Использует определенный цвет. Полезно при объединении нескольких выходов.
-cT режим_терминала
Интерпретирует коды терминала. В настоящее время поддерживается только ANSI.
-c- Не использовать цветовое выделение для следующего файла.
-C- Не использовать цветовое выделение для последующих файлов.
-ts Добавляет временную метку к каждой строке (формат настраивается в multitail.conf).
-Z цвет
Указывает атрибуты цвета для строки-маркера.
-T В строку-маркере будет помещена временная метка.
-d Не обновлять строку состояния.
-D Не отображать строку состояния вообще.
-du Разместить строку состояния над окном данных.
-z Не отображать "закрытые" окна.
-u Устанавливает интервал обновления экрана (для медленных соединений).
-m n строк
Устанавливает размер буфера. Установите n строк в 0 (ноль), если вы хотите, чтобы не было ограничений на буферизацию.
-mb x Устанавливает размер буфера обратной прокрутки (в байтах, используйте xKB/MB/GB).
-M n строк
Устанавливает размер буфера для всех последующих файлов.
-p x [y]
Устанавливает перенос строк: a = печатать все, включая перенос строк. l = показывать все, начиная с левой стороны, до достижения правой стороны окна. r = показывать все, начиная с правой стороны строки. s = показывать все, начиная с имени процесса. S = показывать все, начиная после имени процесса. o = показывать все, начиная со смещения 'y'.
-P x [y]
Аналогично -p, но для всех последующих окон.
-ke x Удаляет части ввода с помощью регулярного выражения 'x'.
-kr x y
Удаляет части ввода, начиная со смещения x и заканчивая (не включая!) смещение y.
-kc x y
Удаляет части ввода: удаляет столбец 'y' с разделителем 'x'.
-ks x Использует схему редактирования 'x' из файла конфигурации.
-w Не использовать цвета.
-b n Устанавливает ширину табуляции.
--config имя_файла
Загружает конфигурацию из указанного файла.
-x Устанавливает заголовок xterm: %f будет заменен на последний измененный файл, %h — на имя хоста, %l — на загрузку системы, %m — на "Новая почта!", когда у текущего пользователя есть новая почта, %u — на текущего эффективного пользователя, %t — на временную метку последнего измененного файла, %% — на %.
-o configfile-item
Обрабатывает элемент файла конфигурации через командную строку, если вы не можете редактировать файл конфигурации по умолчанию.
--cont
Объединяет строки, заканчивающиеся символом «´».
--mark-interval interval
Если ничего не поступает, выводит строку «---mark---» каждые «interval» секунд.
--mark-change
При объединении нескольких файлов и переключении multitail между двумя окнами выводит строку-маркер с именем файла.
--no-mark-change
Не выводит строку-маркер при смене файла (переопределяет файл конфигурации).
--label text
Добавляет «text» в начало каждой строки. Полезно при объединении нескольких файлов и/или команд.
--retry
Продолжает попытки открыть следующий файл, если он недоступен.
--retry-all
Аналогично --retry, но для всех последующих файлов.
-cv x
Использует схему преобразования «x» (см. multitail.conf).
--basename
Отображает только имя файла (а не путь) в строке состояния.
-F file
Использует «file» в качестве файла конфигурации (вместо файла конфигурации по умолчанию).
--no-load-global-config
Не загружает глобальный файл конфигурации.
--beep-interval x
Заставляет терминал издавать звуковой сигнал для каждой x-й обработанной строки. Нажмите «i» в главном меню, чтобы увидеть, сколько раз прозвучал сигнал.
--bi x
Аналогично --beep-interval, но только для текущего (под)окна. Статистика по количеству звуковых сигналов находится в статистике для этого (под)окна. Нажмите «t» в главном меню.
-H
Отображает сигнал активности (heartbeat), чтобы поддерживать сеанс активным.
-V
Отображает версию и завершает работу.
КЛАВИШИ
Вы можете нажимать некоторые клавиши во время работы программы. Чтобы увидеть список, нажмите F1 (или ^h). Вы можете нажимать F1 (или ^h) в любое время: это дает контекстную информацию. Нажмите «q», чтобы выйти из программы.
ПРИМЕРЫ
См. http://www.vanheusden.com/multitail/examples.html для получения дополнительных примеров.
multitail /var/log/apache/access_log logfile -i -filestartingwithdatsh
Создает три окна. Одно с содержимым /var/log/apache/access_log, другое с содержимым logfile и т. д.
multitail -R 2 -l "netstat -t"
Запускает netstat каждые 2 секунды, а затем показывает, что изменилось с предыдущего запуска. Таким образом можно увидеть, как устанавливаются новые соединения и как исчезают закрытые соединения.
multitail logfile -l "ping 192.168.1.3"
Создает два окна. Одно с содержимым logfile, другое с выводом команды «ping 192.168.1.3».
multitail /var/log/apache/access_log -I /var/log/apache/error_log
Создает одно окно с содержимым /var/log/apache/access_log, объединенным с содержимым /var/log/apache/error_log.
multitail -M 0 /var/log/apache/access_log -I /var/log/apache/error_log
То же, что и в предыдущем примере. В этом примере все зарегистрированные записи будут храниться в буфере, чтобы позже можно было просматривать их (нажав «b»).
ФАЙЛЫ
${XDG_CONFIG_HOME}/multitail/config
Если определена ${XDG_CONFIG_HOME}.
${HOME}/.multitailrc
Если определена ${HOME}.
~/.multitailrc
Если ни ${XDG_CONFIG_HOME}, ни ${HOME} не определены, будет использоваться (struct passwd*)pp->pw_dir из стандартного заголовка pwd.h.
ОШИБКИ
По мере того как эта программа росла и расширялась с течением времени, и к ней время от времени добавлялись новые функции, могли появиться некоторые ошибки. Пожалуйста, сообщите, если обнаружите какие-либо.
Ну, кроме изменения размера окна терминала. Программа может аварийно завершать работу при выполнении подобных действий. В этом случае обновление библиотеки ncurses до версии 5.3 или выше может помочь.
СМОТРИТЕ ТАКЖЕ
http://www.vanheusden.com/multitail/
ЗАМЕЧАНИЯ
Эта страница описывает MultiTail, как он установлен в пакете multitail; другие версии могут незначительно отличаться. Присылайте исправления и дополнения по адресу _. Сообщайте об ошибках в программе по адресу _.