cat выдаёт файл целиком — и он улетает за верхний край экрана. more позволяет листать только вниз. less делает и то и другое, загружает файл кусками без буферизации всего содержимого и позволяет искать текст в обоих направлениях. Именно поэтому less стал стандартом для просмотра логов и больших конфигов.
Открыть файл
less filename.txt
Терминал переключится в полноэкранный режим просмотра. Командная строка исчезнет, файл займёт весь экран.

Внизу экрана — строка с мигающим курсором. Это командная строка less: здесь вводятся поисковые паттерны и внутренние команды. Не нужно никуда переключаться — всё управление прямо там.
Навигация внутри файла
| Клавиша | Действие |
|---|---|
Space, f, Ctrl+F |
Прокрутить на один экран вперёд |
b, Ctrl+B |
Прокрутить на один экран назад |
Enter, j, Ctrl+J |
Следующая строка |
y, k, Ctrl+Y |
Предыдущая строка |
g, < |
Перейти в начало файла |
G, > |
Перейти в конец файла |
Ctrl+→ |
Прокрутить горизонтально вправо |
Ctrl+← |
Прокрутить горизонтально влево |
q, Q, ZZ |
Выйти |
Одна из главных причин использовать less вместо more — клавиша b. В more прокрутки назад нет вообще.
Поиск в тексте
Поиск вниз по файлу — ввести / и паттерн:
/error
Поиск вверх по файлу — ввести ? и паттерн:
?warning
После нажатия Enter все совпадения подсветятся. Переход к следующему совпадению — клавиша n, к предыдущему — N.

Регулярные выражения работают прямо в строке поиска — /^ERROR найдёт строки начинающиеся с ERROR, /[0-9]{3} найдёт трёхзначные числа.
Игнорировать регистр при поиске — флаг -i:
less -i logfile.log
Или прямо внутри less включить режим без учёта регистра командой -i.
Полезные опции при запуске
Убрать лишние пустые строки — флаг -s:
less -s textfile.txt

Показать номера строк — флаг -N:
less -N /var/log/syslog
Выйти автоматически если файл помещается на одном экране — флаг -F:
less -F config.conf
Выйти когда достигнут конец файла — флаг -E:
less -E access.log
Открыть файл с позиции конкретной строки — с ключом +N:
less +100 bigfile.txt
Открыть с позиции последнего вхождения строки — полезно для логов:
less +G /var/log/nginx/error.log
Следить за файлом в реальном времени
Флаг +F переводит less в режим слежения — как tail -f, но с возможностью в любой момент нажать Ctrl+C и перейти к ручной навигации:
less +F /var/log/nginx/access.log
В режиме слежения новые строки появляются внизу автоматически. Ctrl+C — стоп, можно листать и искать. F снова — возврат к слежению. Это удобнее чем переключаться между tail -f и grep.
Несколько файлов
less умеет работать с несколькими файлами последовательно:
less file1.log file2.log file3.log
Переключение между файлами: :n — следующий, :p — предыдущий, :d — удалить текущий из списка (не с диска).
Пайп: вывод команды через less
less часто используют не для файлов, а для вывода других команд:
dmesg | less
ps aux | less
git log | less
cat /var/log/syslog | less -N
Любой длинный вывод который улетает за экран — передаёте в less и спокойно листаете.
less vs more vs cat
| Инструмент | Прокрутка назад | Поиск | Загрузка файла | Слежение |
|---|---|---|---|---|
cat |
— | — | Целиком | — |
more |
— | Только вниз | Целиком | — |
less |
Да | В обе стороны | Кусками | +F |
less не загружает файл целиком — он читает только тот фрагмент который нужно показать. На файле в несколько гигабайт это принципиальная разница.
Шпаргалка
| Задача | Команда / клавиша |
|---|---|
| Открыть файл | less filename |
| Открыть с позиции конца | less +G filename |
| Слежение за файлом | less +F filename |
| Номера строк | less -N filename |
| Сжать пустые строки | less -s filename |
| Игнорировать регистр | less -i filename |
| Поиск вниз | /pattern |
| Поиск вверх | ?pattern |
| Следующее совпадение | n |
| Предыдущее совпадение | N |
| В начало файла | g |
| В конец файла | G |
| Следующий файл | :n |
| Выйти | q |