Команда tail в Bash: Следим за концом!

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

📘 Синтаксис

tail [ОПЦИИ]... [ФАЙЛ]...

🔍 Пример:

tail logfile.txt
line 91
line 92
...
line 100

⚙️ Основные опции

  • -n [число] — вывести последние N строк (по умолчанию 10).

  • -f — следить за файлом в реальном времени.

  • -c [число] — вывести последние N байт.

  • --pid=PID — остановить tail -f после завершения процесса.

  • --retry — пытаться открыть файл, даже если он недоступен.

🔢 tail -n: Количество строк

Вывод последних 5 строк:

tail -n 5 logfile.txt
line 96
line 97
...
line 100

👀 tail -f: Следим за логами

Следим за логом “вживую”:

tail -f logfile.txt

Очень удобно при отладке, чтобы видеть новые строки по мере появления.

🧠 tail -c: Количество байт

Вывод последних 20 байт:

tail -c 20 logfile.txt
...e.txt

💀 –pid: Остановиться по завершении процесса

Следим за логом, пока жив PID 1234:

tail -f --pid=1234 logfile.txt

Когда процесс завершится — tail автоматически выйдет.

🔁 –retry: Повторные попытки

Если файл временно недоступен, tail продолжит попытки его открыть:

tail --retry -f logfile.txt
tail: cannot open 'logfile.txt'...
...
file appears!
line 91
line 92
...

🎯 Практические сценарии

  • Просмотр конца лог-файлов без перелистывания всего файла.

  • Мониторинг ошибок сервера в реальном времени.

  • Отладка скриптов и приложений: смотрим последние сообщения.

📦 Советы

Можно использовать tail вместе с grep для фильтрации или с awk для форматирования вывода:

tail -f logfile.txt | grep "ERROR"
tail -n 50 logfile.txt | awk '{print $1, $NF}'

📹 В видео мы покажем каждый вариант на практике: от live логов до отслеживания завершения процесса. Не пропусти!