Команда tail в Linux

Команда 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, которая выводит первые строки файла на терминал.

Оставьте комментарий