stringtranslate.com

хвост (Unix)

Tail — это программа , доступная в Unix , Unix-подобных системах, FreeDOS и MSX-DOS, используемая для отображения хвостовой части текстового файла или передаваемых по конвейеру данных.

Реализации

Версия, tailвключенная в GNU coreutils , была написана Полом Рубином, Дэвидом Маккензи, Яном Лэнсом Тейлором и Джимом Мейерингом. [1] Команда доступна в виде отдельного пакета для Microsoft Windows как часть коллекции UnxUtils , состоящей из собственных Win32- портов распространенных GNU Unix-подобных утилит. [2] Версия FreeDOS была разработана М. Эйтчисоном. [3] Команда tailтакже является частью инструментов MSX -DOS2 ASCII для MSX-DOS версии 2. [4]

CCZE похож на хвост, отображая выходные данные в цвете. [5]

pctail аналогичен CCZE. Это раскрашенный хвост, запрограммированный на Python , который отслеживает и раскрашивает вывод системного журнала. [6]

Inotail представлял собой реализацию, использующую интерфейс ядра inotify Linux (представленный в версии 2.6.13 в августе 2005 года) для проверки доступности новых данных вместо опроса каждую секунду, как это делал исходный хвост. [7] Однако более новые версии [ какие? ] хвоста также начал использовать inotifiy, когда это было возможно, поэтому Inotail устарел и больше не поддерживается.

MultiTail не только отображает файлы журналов в цветах, но также может объединять, фильтровать, прокручивать назад и разбивать окно терминала на подокна. [8] Это более или менее комбинация Tail, sed , Watch , CCZE/pctail, grep , diff , Beeper и других.

Синтаксис

Синтаксис команды :

хвост [опции] <имя файла>

По умолчанию Tail выводит последние 10 строк своего ввода на стандартный вывод . С помощью параметров командной строки можно изменить объем вывода и единицы измерения (строки, блоки или байты).

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

$ Tail  -n1  report-13* ==> report-1301 <== Общий объем производства за январь '13 составил 523==> report-1302 <== Общий объем производства за февраль '13 составил 272 тонны.==> report-1303 <== Общий объем производства за март '13 составил 623 тонны.

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

$ Tail  --silent  -c4  отчет* 523 272 623

В этом примере показаны все строки отчета, начиная со второй строки:

хвост -n +2 отчет

Используя старый синтаксис (все еще используемый в более старых версиях Sun Solaris, поскольку опция -n не поддерживается), последние 20 строк и последние 50 байтов имени файла можно отобразить с помощью следующей команды:

хвост -20 имя файла
хвост -50c имя файла

Однако этот синтаксис уже устарел и не соответствует стандарту POSIX 1003.1-2001. Даже если они все еще поддерживаются в текущих версиях, при использовании с другими параметрами (например, -f, см. ниже) эти переключатели вообще не могут работать.

Как и в случае со всеми командами Unix, используйте страницы руководства работающей системы для определения конкретных параметров и действий.

Мониторинг файлов

Tail имеет две специальные опции командной строки -fи -F(follow), которые позволяют отслеживать файл. Вместо того, чтобы просто отображать последние несколько строк и выходить, Tail отображает строки, а затем отслеживает файл. Когда новые строки добавляются в файл другим процессом , Tail обновляет отображение. Это особенно полезно для мониторинга файлов журналов. Древние версии Tail опрашивают файл каждую секунду по умолчанию, но Tail из GNU coreutils, начиная с версии 7.5, поддерживает инфраструктуру inotify , представленную в ядре Linux версии 2.6.13 в августе 2005 года, которая проверяет файл только тогда, когда ядро ​​уведомляет об изменениях.

Следующая команда отобразит последние 10 строк сообщений и добавит новые строки к отображению по мере добавления новых строк к сообщениям :

хвост -f /var/adm/messages

Чтобы продолжать следить за журналом, даже когда он воссоздается, переименовывается или удаляется в рамках ротации журналов, по крайней мере, реализации BSD и GNU предоставляют опцию, -Fкоторая полезна в тех случаях, когда пользователь следит за файлом журнала, который вращается .

хвост -F /var/adm/messages

Чтобы прервать хвост во время мониторинга, нажмите Ctrl+C. Эту команду можно запустить «в фоновом режиме» с помощью , см. «Управление заданиями» .&

Если пользователю нужно отслеживать результат выполнения команды, можно использовать команду наблюдения .

Существует режим GNU Emacs , который имитирует функциональность tail -f, называемый auto-revert-tail-mode .

Смотрите также

Рекомендации

  1. ^ "tail(1): вывести последнюю часть файлов - справочная страница Linux". linux.die.net .
  2. ^ «Собственные порты Win32 некоторых утилит GNU» . unxutils.sourceforge.net .
  3. ^ «Пакет FreeDOS ibiblio.org — хвост (Unix-подобный)» . www.ibiblio.org .
  4. ^ «Руководство пользователя по инструментам MSX-DOS2 — ИНСТРУМЕНТЫ MSX-DOS2 ユーザーズマニュアル» . 1 апреля 1993 г. - из Интернет-архива.
  5. ^ "CCZE". Freshmeat.sourceforge.net .
  6. Ссылки СоурсФордж . 25 февраля 2013 г.
  7. Ссылки distanz.ch .
  8. ^ Калси, Таджиндер (2016). Практическая книга по безопасности Linux. Packt Publishing Ltd., стр. 234–236. ISBN 9781785285301. Проверено 22 сентября 2017 г.

Внешние ссылки