Команда tail отображает последнюю часть (по умолчанию 10 строк) одного или нескольких файлов или передаваемых данных. Его также можно использовать для отслеживания изменений файлов в реальном времени.
Одним из наиболее распространенных способов использования команды tail является просмотр и анализ журналов и других файлов, которые меняются со временем, обычно в сочетании с другими инструментами, такими как grep .
В этом руководстве мы покажем вам, как использовать команду хвоста Linux на практических примерах и подробных объяснениях наиболее распространенных параметров хвоста.
Синтаксис команды tail
Прежде чем перейти к использованию команды tail, давайте начнем с обзора основного синтаксиса.
Выражения команды tail принимают следующую форму:
tail [OPTION]... [FILE]...
OPTION
— варианты хвоста . Мы рассмотрим наиболее распространенные варианты в следующих разделах.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
Эта опция полезна в ситуациях, когда хвостовая команда следует за вращающимся файлом журнала. При использовании с параметром -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
Выводы
К настоящему времени вы должны хорошо понимать, как использовать хвостовую команду Linux. Он является дополнением к команде head, которая выводит первые строки файла на терминал.
Добавить комментарий