Введение
Команда tail отображает последнюю часть (по умолчанию 10 строк) одного или нескольких передаваемых файлов или данных. Его также можно использовать для отслеживания изменений файлов в режиме реального времени.
Одним из наиболее распространенных применений команды tail является просмотр и анализ журналов и других файлов, которые изменяются с течением времени, обычно в сочетании с другими инструментами, такими как grep.
В этом руководстве мы покажем вам, как использовать команду tail в Linux, на практических примерах и подробных объяснениях наиболее распространенных параметров Tail.
Синтаксис хвостовой команды
Прежде чем мы перейдем к тому, как использовать команду tail, давайте начнем с изучения основного синтаксиса.
Выражения команды tail имеют следующий вид:
tail [OPTION]... [FILE]...
OPTION
- варианты хвоста. В следующих разделах мы рассмотрим наиболее распространенные варианты.FILE
— ноль или более входных имен файлов. Если FILE не указан или если FILE равен-
, то 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.11.11
, вы должны использовать:
tail -f /var/log/apache2/access.log | grep 192.168.11.11
Следующая команда ps
отобразит десять самых запущенных процессов, отсортированных по загрузке ЦП:
ps aux | sort -nk +3 | tail -5
Вывод
К настоящему времени вы должны хорошо понимать, как использовать команду tail в Linux. Это дополнение к команде head, которая печатает первые несколько строк файла на терминале.