Как пользоваться командой tail в Linux

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

В  операционной системе Линукс команда tail считывает файл и выводит последнюю его часть. Утилита может отслеживать потоки данных и открывать файлы, отображая новую информацию в том виде, в котором она написана. Это полезный способ отслеживать новейшие события в системном журнале в режиме реального времени.

Синтаксис

По умолчанию утилита печатает десять последних строк каждого файла стандартным способом вывода. Если указать более одного документа, то к каждому набору выходных данных будет добавлен заголовок с его именем. Если файл не указан или является одним тире ("-"), то tail читает из стандартного input.

Рассмотрим синтаксис команды:

tail [параметры] файл

Основные параметры:

  • -c - показывает указанное количество байт с конца файла. Также можно использовать знак плюс после "-с" для вывода любой информации, начиная с байта. Например, -c +1 напечатает все. После числа можно использовать суффикс множителя, чтобы указать единицы измерения: b (512), kB (1000), K (1024), MB (1000*1000), M (1024*1024), GB (1000*1000*1000), G (1024*1024*1024), and so on for T (terabyte), P (petabyte), E (exabyte), Z (zettabyte), Y (yottabyte).
  • -f - этот параметр приводит к тому, что tail будет зацикливаться вечно, проверяя наличие новых данных. Когда появляются новые данные, они будут напечатаны. Если вы следите более, чем за одним файлом, то будет напечатан заголовок каждого, чтобы указать, какие данные файла печатаются. Если файл уменьшается, а не увеличивается, утилита сообщит вам об этом. Если вы укажете название, то за файлом с таким заголовком будет слежка, вне зависимости от его файлового дескриптора. Если вы укажете дескриптор, то будет слежка за тем же файлом, даже если он переименован. Это поведение команды по умолчанию.
  • -n - выводит последние n строк, вместо значения по умолчанию, которое составляет 10.
  • --max-unchanged-stats=num. Если отслеживаете документ с аргументом -f , утилита постоянно проверяет его, чтобы увидеть, изменился ли размер. Если размер изменился, он снова открывает файл и ищет новые данные для печати. Опция --max-unchanged-stats повторно открывает файл, даже если его размер не изменился, после каждой проверки num. Эта опция полезна, если файл может быть самопроизвольно отключен или переименован, например, когда файлы журнала автоматически чередуются.
  • --pid - используется с аргументов "-f", позволяет завершить процесс.
  • -q - никогда не выводить заголовки.
  • --retry - продолжает пытаться открыть файл, даже если он временно недоступен;
  • -s - если производить слежение посредством -f примерно num секунд между проверками файлов. С помощью --pid проверяется процессный pid не реже, чем один раз в несколько секунд.
  • -v -всегда печатать заголовки.
  • --help - получение информационной помощи по синтаксису.
  • --version - способ узнать версию.

Примеры

Запустим утилиту без параметров, тем самым узнаем 10 последних строк в dokument.

tail dokument

без аргументов

Покажем на экране пять последних строк. Для этого будем использовать аргумент "-n".

tail -n 5 dokument

Пример опции -n

Рассмотрим пример опции "-f". Которая делает стандартный вывод в десять пунктов и следит за обновлением документа, кроме того утилита продолжает выводит все новые изменения, которые добавляются в файл.

tail -f dokument

Опция -f

ВАЖНО!: tail будет отслеживать файл постоянно по умолчанию. Чтобы остановить этот процесс, необходимо набрать комбинацию CTRL + C.

Откроем несколько файлов одновременно.

tail -f dokument file

Два документа

Выше были приведены примеры использования tail для выборочного мониторинга файлов журнала в режиме реального времени. Это весьма полезная функция, разобраться в которой сможет каждый специалист, чей уровень подготовки выше начального.