Как читать текстовые файлы в терминале Linux: less, more и most

Есть много графических текстовых редакторов в Linux, но иногда удобнее читать файлы прямо в терминале. Наиболее распространённые утилиты — less, more и most. Они позволяют постранично просматривать содержимое файла, но отличаются по возможностям и поведению.
Ниже — подробный обзор команд, практические примеры, советы по навигации и набор сценариев их использования.
Когда использовать less, more или most
- Используйте less, когда нужно быстро открыть большой файл, выполнять поиск, перемещаться по тексту вперед и назад и не загружать весь файл в память.
- Используйте more, если нужна простая постраничная навигация и вы работаете в окружении с минимальным набором утилит.
- Используйте most, если вам нужны дополнительные элементы интерфейса (строка состояния, цвет), и вы можете установить пакет в системе.
Что такое команда less
less — это утилита для постраничного просмотра текстовых файлов. Она читается и отображает файл партиями (страницами), не пытаясь сразу загрузить весь файл. Это делает less быстрым и удобным при работе с очень большими файлами.
Определение термина: less — постраничный просмотрщик, который поддерживает поиск, переходы по строкам, номера строк и флаги для настройки отображения.
Синтаксис команды less
less [опции] [путь_к_файлу]Пример:
less /etc/sudo.confБазовая навигация в less
- Пробел — перейти на следующую страницу.
- PageDown / стрелка вниз — прокрутка по строкам.
- PageUp / стрелка вверх — назад по страницам/строкам.
- g — перейти в начало файла.
- G — перейти в конец файла.
- /строка — поиск вперёд по регулярному выражению.
- ?строка — поиск назад.
- n — следующее совпадение (в направлении последнего поиска).
- N — предыдущее совпадение.
- :n — перейти к номеру строки n (например, :100).
- q — выйти.
Совет: при открытии большого файла less выводит только часть файла, что экономит время и ресурсы.
Показ номеров строк с помощью less
Чтобы видеть номера строк, добавьте опцию -N:
less -N /etc/sudo.confЭто полезно при отладке и обсуждении участков файла по номеру.
Поиск и подсветка
- Ввод
/pluginнайдет следующее вхождение «plugin» и выделит его. - По умолчанию less использует подсветку совпадений (если поддерживается терминалом). Для регулярных выражений используйте стандартный синтаксис POSIX.
- Дополнительно можно задать начальный поиск при запуске:
less +/ошибка logfileоткроет файл logfile и выполнит поиск слова «ошибка».
Полезные опции less
- -N — показывать номера строк.
- -S — не переносить длинные строки (горизонтальная прокрутка).
- -R — пропускать управляющие последовательности цвета (например, ANSI-цвета) и отображать их правильно.
- +F — режим «следить за файлом» (аналог tail -f), можно выйти сочетанием Ctrl-C.
Пример просмотра логов в режиме слежения:
less +F /var/log/syslogЧто такое команда more
more — более простая утилита для постраничного просмотра. Она встречается почти везде и обеспечивает базовую навигацию, но не умеет так гибко возвращаться назад и поддерживает меньше интерактивных команд.
Синтаксис команды more
more [опции] [путь_к_файлу]Пример:
more /etc/sudo.confНавигация в more
- Пробел — следующая страница.
- Enter — следующая строка.
- b — переход назад на одну страницу.
- /строка — поиск (работает, но поведение может отличаться между реализациями).
- q — выйти.
Отличие: bottom-left-индикатор процентов показывает, какая часть файла уже просмотрена.
Просмотр первых N строк с помощью more
more может вести себя как head, если задать число строк:
more -5 /etc/sudo.confЭто отобразит первые пять строк файла. Учтите, что синтаксис с числом может быть разным в разных реализациях — на большинстве систем more -5 работает.
Что такое команда most
most — альтернатива less/more с расширенным интерфейсом: строка состояния, меню, цветовые подсказки и т. п. Она не входит в стандартный набор большинства дистрибутивов, но её можно установить из репозитория.
Синтаксис команды most
most [опции] [путь_к_файлу]Посмотреть справку:
man mostНавигация и особенности most
most похож на less, но имеет свои клавиши и интерфейс. Внизу обычно отображается синяя строка с именем файла и подсказками по клавишам.
Пример запуска:
most /etc/sudo.confПросмотр нескольких файлов одновременно
Все три программы позволяют перечислять несколько файлов в аргументах:
less file1 file2 file3
more file1 file2 file3
most file1 file2 file3В less между файлами переключаются клавишами :n (вперёд) и :p (назад), а также автоматически при достижении конца файла.
Использование с другими командами и пайпами
Часто нужно передать вывод команды в просмотрщик:
ps aux | less
journalctl -u sshd | less
grep -R "ошибка" /var/log | lessless умеет принимать входной поток и работать с ним как с файлом. Для цветного вывода используйте --color=always в командах grep/ls и опцию -R в less, например:
grep --color=always "ошибка" logfile | less -RПросмотр сжатых файлов и удалённые системы
- zless — просмотр сжатых gzip-файлов без предварительной распаковки (вызовет less под капотом).
- gzless, bzless и т. п. зависят от пакета lesspipe или utils в вашей системе.
- Для просмотра файлов на удалённом сервере используйте SSH и пайп:
ssh host 'cat /var/log/syslog' | lessилиssh host 'less /path/to/file'.
Когда одна команда не подходит (когда она терпит неудачу)
- more: плохо подходит, если нужно быстро искать назад по файлу и выполнять сложные переходы.
- less: в окружениях без терминала (например, ограниченные контекстные шеллы) некоторые клавиши могут не работать.
- most: может отсутствовать в минималистичных контейнерах; установка может быть ограничена политиками безопасности.
Альтернативные подходы
- cat — выводит весь файл сразу (быстро, но неудобно с большими файлами).
- head/tail — посмотреть начало или конец файла. tail -f для слежения за логом.
- awk/sed — для извлечения или фильтрации частей файла перед просмотром (например,
awk 'NR>=100 && NR<=200' logfile | less).
Мини-метод: как эффективно читать логи в терминале (шаги)
- Откройте файл в режиме следления, если лог растёт:
less +F /var/log/syslog. - При необходимости найдите конкретную метку времени:
/2025-05-10. - Отключите режим слежения (Ctrl-C), чтобы работать с историей и делать навигацию назад.
- Для фильтрации используйте пайпы:
grep "ERROR" /var/log/syslog | less -R. - После завершения — q.
Чек-листы по ролям
Сисадмин:
- Уметь читать логи в реальном времени: less +F и tail -f.
- Знать опции -R и -S для корректного отображения цветного вывода и длинных строк.
- Иметь под рукой grep/awk для поиска и фильтрации перед просмотром.
Разработчик:
- Использовать номера строк (-N) при дебаге.
- Выполнять поиск по регулярным выражениям (/pattern).
- Открывать только нужные части файла: awk или sed | less.
Новичок в Linux:
- Запомнить: пробел — следующая страница, q — выйти, / — поиск.
- Если не знаете, используйте more для простоты.
Сравнительная матрица
| Команда | Установка по умолчанию | Поддержка поиска | Поддержка назад | Цвет/ANSI | Режим слежения |
|---|---|---|---|---|---|
| less | Да | Да | Да | Да (с -R) | Да (+F) |
| more | Да | Частично | Ограничено | Нет | Нет |
| most | Иногда | Да | Да | Да | Зависит |
Установка most (примеры)
- Debian/Ubuntu:
sudo apt update
sudo apt install most- RHEL/CentOS (EPEL может понадобиться):
sudo yum install epel-release
sudo yum install mostСоветы и хитрости
- Установите переменную окружения LESS для постоянных опций, например в ~/.bashrc:
export LESS='-R -N -S'- Если вывод включает управляющие последовательности цвета, используйте -R, чтобы они корректно отобразились.
- Чтобы быстро открыть файл и перейти к строке 200:
less +200 fileилиless +':200' file. - Используйте
&внутри less для фильтрации видимых строк по шаблону: введите&ERRORв интерактивном режиме и less покажет только строки, соответствующие шаблону.
Критерии приёмки
- Открытие большого файла не должно занимать много времени (less/most должны открываться моментально, more может тоже открыться быстро, но функционал ограничен).
- Поиск по строкам должен работать и выделять совпадения.
- Номера строк должны отображаться при использовании опции -N.
Быстрая шпаргалка (Cheat sheet)
- Просмотр:
less file— продвинутый просмотрщик. - Простая постраничная навигация:
more file. - Альтернативный интерфейс:
most file. - Поиск:
/pattern,?pattern,n,N. - Номера строк:
less -N file. - Следить за логом:
less +F fileилиtail -f file. - Цветной вывод:
command --color=always | less -R.
Модель принятия решений (Mermaid)
flowchart TD
A[Нужно просмотреть файл?] --> B{Файл большой?}
B -- Нет --> C[cat / less / more по вкусу]
B -- Да --> D{Нужна ли фильтрация и поиск?}
D -- Да --> E[less 'использовать -R, -N, /pattern']
D -- Нет --> F{Можно установить пакеты?}
F -- Да --> G[most]
F -- Нет --> H[more]
E --> I[Использовать +F для слежения]
G --> I
H --> IГлоссарий (одной строкой)
- less — интерактивный постраничный просмотрщик; more — упрощённый просмотрщик; most — расширенный просмотрщик с UI-элементами.
Риски и ограничений
- Некоторые реализации more не поддерживают все клавиши навигации; поведение различается.
- most может быть недоступен в минимальных контейнерах.
- Работа с бинарными файлами может испортить терминал — избегайте открытия неподходящих форматов.
Короткая методика тестирования (acceptance)
- Откройте большой файл с помощью less — убедитесь, что первая страница отображается мгновенно.
- Выполните поиск по известной строке — совпадение найдено и выделено.
- Переходите к конкретной строке
:100— проверка успешна. - Включите режим слежения
+Fи убедитесь, что новые строки отображаются. - Выполните те же шаги с more и most (если установлен) и зафиксируйте различия.
Конец и основные выводы
less — универсальный инструмент для чтения больших файлов в терминале. more полезен в простых окружениях, а most добавляет удобные визуальные элементы. Знание их опций и клавиатурных сокращений экономит время при работе с логами и конфигурациями.
Важно: выбирайте инструмент под задачу — быстрое чтение, фильтрация, слежение за логом или наличие дополнительных интерфейсных подсказок.
Похожие материалы
Как убрать защиту от записи с флешки
Графики в Google Sheets: создание и настройка
Отключение Windows Defender SmartScreen — инструкция
Minecraft‑сервер на Raspberry Pi: установка и настройка
Как определить SSD или HDD в Linux