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

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

Выражения команды tail имеют следующий вид:

tail [OPTION]... [FILE]...

Копировать

  • OPTION- настройки tail. Мы рассмотрим наиболее распространенные варианты в следующих разделах.
  • FILE- Ноль или более имен входных файлов. Если FILE не указан или если FILE есть -, то tail будет читать стандартный ввод.

Как использовать команду tail

В своей простейшей форме при использовании без каких-либо опций команда tail будет отображать последние 10 строк.

tail filename.txt

Как отобразить определенное количество строк

Используйте параметр -n( --lines), чтобы указать количество отображаемых строк:

tail -n <NUMBER> filename.txt

Вы также можете опустить букву nи использовать только дефис ( -) и цифру (без пробела между ними).

Чтобы отобразить последние 50 строк имени файла filename.txt, вы должны использовать:

tail -n 50 filename.txt

В следующем примере будет отображаться тот же результат, что и в приведенных выше командах:

tail -50 filename.txt

Как отобразить определенное количество байтов

Чтобы показать определенное количество байтов, используйте опцию -c( ).--bytes

tail -c <NUMBER> filename.txt

Например, чтобы отобразить последние 500 байт данных из указанного файла filename.txt, вы должны использовать:

tail -c 500 filename.txt

Вы также можете использовать суффикс множителя после числа, чтобы указать количество отображаемых байтов. bумножает на 512, kBумножает на 1000, Kумножает на 1024, MBумножает на 1000000, Mумножает на 1048576 и так далее.

Следующая команда отобразит последние два килобайта (2048) файла filename.txt:

tail -c 2k filename.txt

Как просмотреть файл на наличие изменений

Чтобы отслеживать изменения в файле, используйте опцию -f( ):--follow

tail -f filename.txt

Этот параметр особенно полезен для мониторинга файлов журналов. Например, чтобы отобразить последние 10 строк /var/log/nginx/error.logфайла и отслеживать обновления файла, вы должны использовать:

tail -f /var/log/nginx/error.log

Чтобы прервать команду tail во время просмотра файла, нажмите Ctrl+C.

Чтобы продолжать отслеживать файл при его воссоздании, используйте -Fпараметр.

tail -F filename.txt

Эта опция полезна в ситуациях, когда команда tail следует за файлом журнала, который сменяется. При использовании с -Fопцией команда tail повторно откроет файл, как только он снова станет доступным.

Как отобразить несколько файлов

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

tail filename1.txt filename2.txt

Вы можете использовать те же параметры, что и при отображении одного файла.

В этом примере показаны последние 20 строк файлов filename1.txtи filename2.txt:

tail -n 20 filename1.txt filename2.txt

Как использовать tail с другими командами

Команду tail можно использовать в сочетании с другими командами, перенаправляя стандартный вывод из/в другие утилиты с помощью конвейеров.

Например, чтобы отслеживать файл журнала доступа apache и отображать только те строки, которые содержат IP-адрес 192.168.42.12, который вы бы использовали:

tail -f /var/log/apache2/access.log | grep 192.168.42.12

Следующая ps команда отобразит десять самых запущенных процессов, отсортированных по загрузке ЦП:

ps aux | sort -nk +3 | tail -5