Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Linux: log, grep, tail

Какие Linux-команды используются для анализа логов?

Вопрос проверяет практические навыки работы с Linux, умение быстро находить ошибки в логах и фильтровать данные в командной строке.

Короткий ответ

Для анализа логов обычно используют tail, less, grep, awk, sed, head, sort, uniq, cut. Они помогают смотреть последние строки, искать по шаблону и агрегировать повторы. Для системных логов также используют journalctl. Важно уметь комбинировать команды через пайпы.

Длинный ответ

Определение

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


Базовые команды и когда они нужны

1) Просмотр и навигация

Перед списком важно отметить: начинать обычно нужно с удобного просмотра, а не с “сразу grep”.

  1. less

    1. Удобная прокрутка больших файлов

    2. Поиск внутри (/pattern)

  2. tail

    1. Последние строки и “подписка” на обновления

  3. head

    1. Первые строки (иногда полезно для заголовков/формата)

Примеры:

less /var/log/app.log
tail -n 200 /var/log/app.log
tail -f /var/log/app.log

2) Поиск и фильтрация

  1. grep

    1. Поиск по строкам

    2. Часто с -n, -i, -E

  2. rg (если доступен)

    1. Быстрее и удобнее, но не всегда установлен

Примеры:

grep -n "ERROR" /var/log/app.log
grep -iE "timeout|failed" /var/log/app.log

3) Извлечение полей и преобразования

Перед перечислением важно понимать: логи часто структурированы, и нужно доставать конкретные колонки.

  1. awk

    1. Извлечение полей по разделителю

  2. cut

    1. Быстрое выделение колонок

  3. sed

    1. Замены и чистка строк

Примеры:

awk '{print $1, $2, $NF}' /var/log/app.log
cut -d' ' -f1-3 /var/log/app.log
sed 's/user_id=[0-9]\+/user_id=<id>/g' /var/log/app.log

4) Агрегации и частоты

  1. sort

  2. uniq -c

Пример: топ частых сообщений:

grep "ERROR" /var/log/app.log | sort | uniq -c | sort -nr | head

Системные логи: journalctl

Если сервис под systemd, логи часто смотрят так:

journalctl -u myservice --since "2026-02-17 00:00" --no-pager
journalctl -u myservice -f

Полезные флаги:

  1. -u — юнит

  2. -f — follow

  3. --since/--until — окно времени

  4. -p — уровень (например, ошибки)


Как обычно строят “воронку” анализа

Перед шагами важно зафиксировать практику: от общего к частному.

  1. Посмотреть хвост лога (tail -n, journalctl --since)

  2. Найти ключевые события (grep ERROR|WARN)

  3. Выделить контекст (несколько строк вокруг)

  4. Сгруппировать повторяющиеся ошибки (sort | uniq -c)

  5. Достать поля (время, request_id, user_id) через awk/cut


Краткий вывод

Для анализа логов в Linux важны три группы инструментов: просмотр (less, tail), поиск (grep) и обработка (awk, sed, sort, uniq). Умение комбинировать их пайпами закрывает большинство задач диагностики.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    4

  • Сложность:

    5

Навыки

  • Linux

    Linux

Ключевые слова

#log

#grep

#tail

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.