Командная строка: Как вывести 10 последних строк лог-файла api.log в режиме реального времени (tail -f)?
Для того чтобы вывести 10 последних строк файла api.log и продолжать отслеживать новые записи в режиме реального времени, используется следующая команда:
tail -n 10 -f api.log
Или в сокращённой форме:
tail -fn 10 api.log
**Разбор параметров команды:**
— `tail` — стандартная Unix-утилита для вывода последних строк файла.
— `-n 10` (или `-n10`) — указывает количество строк с конца файла, которые нужно вывести. По умолчанию tail выводит 10 строк, поэтому если вам нужно именно 10, можно написать просто `tail -f api.log`.
— `-f` (от англ. follow) — ключевой флаг, который переводит команду в режим «слежения»: программа не завершается после вывода последних строк, а продолжает ожидать новых записей в файле и выводит их по мере появления.
— `api.log` — имя отслеживаемого файла. Если файл находится не в текущей директории, укажите полный путь, например `/var/log/api.log`.
**Как завершить работу команды?**
Для выхода из режима слежения нажмите сочетание клавиш `Ctrl + C`.
**Полезные вариации команды:**
1. **Следить за несколькими файлами одновременно:**
tail -f api.log error.log
Тail будет выводить обновления из обоих файлов, помечая каждый блок заголовком с именем файла.
2. **Фильтрация вывода с помощью grep:**
tail -f api.log | grep ERROR
Эта команда покажет только строки, содержащие слово ERROR, что очень удобно при отладке.
3. **Использование tail -F вместо -f:**
tail -F api.log
Флаг `-F` (заглавная буква) отличается от `-f` тем, что продолжает слежение даже если файл был пересоздан (например, при ротации логов). Это более надёжный вариант для production-окружений.
4. **Вывод с временными метками через ts:**
tail -f api.log | ts
Утилита `ts` добавляет временную метку к каждой строке вывода (требует установки пакета `moreutils`).
**Практическое применение:**
Команда `tail -f` незаменима при:
— Отладке веб-приложений и API в процессе разработки.
— Мониторинге серверных приложений в production.
— Анализе поведения системы в реальном времени.
— Отслеживании ошибок и исключений без перезагрузки файла вручную.
Эта команда работает на всех Unix-подобных системах: Linux, macOS, а также доступна в Windows через WSL (Windows Subsystem for Linux) или Git Bash.
