Linux Labs

Первые шаги / Ступень 9 из 15

Текст и редакторы

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 2 из 8 · теория · 4 мин

Начало, конец и живой журнал

Журнал на тысячи строк не читают целиком: обычно нужно начало, конец или то, что допишется прямо сейчас.

cat выводит файл целиком: так удобно читать короткий конфиг. У журнала на тысячи строк начало уйдёт за край экрана. Длинный файл читают в less из урока «Как удобно работать в терминале» или по частям:

bash
head -n 3 service.log   # первые 3 строки
tail -n 5 service.log   # последние 5 строк
tail -f service.log     # конец и новые строки по мере записи

Без -n обе команды показывают по 10 строк. Последние строки — последние по положению в файле. Журнал дописывает новые записи в конец, поэтому свежие события обычно там.

tail -f (от follow — «следить») показывает конец файла и не завершается: ждёт, пока в файл допишут строки, и сразу их печатает. Если новых записей нет, терминал выглядит замершим: tail ждёт. Выйти — Ctrl+C.

Проверь себя 1 вопрос

В журнале службы 50 000 строк. Коллега сейчас перезапустит службу, и тебе нужно увидеть, что она при этом запишет. Что запустишь?

  • cat напечатает все 50 000 строк, и записи о перезапуске придётся искать в конце вывода. Ждать новые строки cat не умеет: она печатает файл и завершается.

  • Покажет последние строки на этот момент, а записи о перезапуске появятся позже. Строки по мере записи печатает tail -f.

  • head показывает начало файла, а новые записи журнал дописывает в конец. Сравни head -n 2 service.log и tail -n 2 service.log.

tail -f показывает конец журнала и печатает строки, которые служба допишет потом. Когда увидишь нужное, выйди через Ctrl+C.

Главное в шаге

  • head и tail с -n показывают начало и конец файла, без -n — по 10 строк.
  • tail -f печатает новые строки по мере записи и ждёт, пока не нажмёшь Ctrl+C.
Ubuntu 24.04
Загрузка…