
Команда tail отображает последнюю часть (по умолчанию 10 строк) одного или нескольких файлов или переданных данных. Её также можно использовать для отслеживания изменений файлов в режиме реального времени.
Одним из наиболее распространенных применений команды tail является просмотр и анализ журналов и других файлов, которые изменяются с течением времени, обычно в сочетании с другими инструментами, такими как grep .
В этом уроке мы покажем вам, как использовать команду tail в Linux, с помощью практических примеров и подробных объяснений наиболее распространенных опций tail.
Синтаксис команды Tail
Прежде чем приступить к использованию команды tail, давайте рассмотрим ее базовый синтаксис.
Выражения команды tail имеют следующий вид:
tail [ OPTION ] ... [ FILE ] ...
-
OPTION— опционы «хвост» . Наиболее распространённые опционы мы рассмотрим в следующих разделах. -
FILE— ноль или более имён входных файлов. Если ФАЙЛ не указан или равен-, tail будет читать стандартный ввод.
Как использовать команду «Хвост
В простейшем виде, при использовании без каких-либо опций, команда tail выведет на экран последние 10 строк.
tail filename.txt
Как отобразить определенное количество строк
Используйте опцию -n ( --lines ), чтобы указать количество отображаемых строк:
tail -n filename.txt
Вы также можете опустить букву n и использовать только дефис ( - ) и цифру (без пробела между ними).
Чтобы отобразить последние 50 строк файла с именем filename.txt , вы можете использовать:
tail -n 50 filename.txt
Следующий пример отобразит тот же результат, что и приведенные выше команды:
tail -50 filename.txt
Как отобразить определенное количество байтов
Чтобы показать определенное количество байтов, используйте опцию -c ( --bytes ).
tail -c 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
Заключение
К настоящему моменту вы должны хорошо понимать, как использовать команду tail в Linux. Она дополняет команду head , которая выводит первые строки файла на терминал.
Связанные руководства