хвост (Unix)

хвост
Разработчик(и)Различные разработчики открытого и коммерческого ПО
Написано вС
Операционная системаUnix , Unix-подобный , V , Plan 9 , Inferno , MSX-DOS , FreeDOS
ПлатформаКроссплатформенный
ТипКоманда
ЛицензияПлан 9: Lucent Public License или GPLv2 или MIT License
coreutils : GPLv3+

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

Реализации

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

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

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

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

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

Синтаксис

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

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

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

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

$ tail  -n1  report-13* ==> report-1301 <== Общий объем производства за январь 2013 года составил 523 тонны==> report-1302 <== Общий объем производства за февраль 2013 года составил 272 тонны==> report-1303 <== Общий объем производства за март 2013 года составил 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

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

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

Существует режим 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 -- tail (Unix-подобный)". www.ibiblio.org .
  4. ^ «Руководство пользователя по инструментам MSX-DOS2 — ИНСТРУМЕНТЫ MSX-DOS2 ユーザーズマニュアル» . 1 апреля 1993 г. - из Интернет-архива.
  5. ^ "CCZE". freshmeat.sourceforge.net .
  6. ^ "pctail". SourceForge . 25 февраля 2013 г.
  7. ^ "inotail" .distanz.ch .
  8. ^ Калси, Таджиндер (2016). Практическая кулинарная книга по безопасности Linux. Packt Publishing Ltd. стр. 234–236. ISBN 9781785285301. Получено 22 сентября 2017 г. .
Взято с "https://en.wikipedia.org/w/index.php?title=Tail_(Unix)&oldid=1232488919"