Битлента
Сетевые команды и утилиты4 мин чтения·

less: как листать длинный вывод в терминале, искать и не терять строки

Как смотреть длинный вывод команд через less: клавиши прокрутки и поиска, ключи -S, -N, -R и -i, режим слежения F и выход по q.

Кратко

Добавьте | less в конец команды: пробел листает вниз, b назад, /слово ищет, n переходит к следующему совпадению, q выходит. Ключ -S не переносит длинные строки, а F включает слежение за растущим файлом, как tail -f.

Когда вывод не помещается на экран

Команды вроде ip route, ss -tan или netstat -an на загруженной машине печатают столько строк, что начало уходит за верхний край окна. Прокручивать терминал мышью можно, но поиск нужной строки так превращается в мучение. Постраничный просмотрщик less решает задачу: он показывает вывод по экрану и позволяет двигаться по тексту в обе стороны.

Использовать его просто: допишите в конце команды вертикальную черту и less, например ss -tan | less. Так же открывается и файл: less /var/log/syslog или любой другой журнал, к которому есть доступ. Файл less не загружает целиком, поэтому большие журналы открываются быстро.

Название связано со старой утилитой more, которая умела только листать вперёд. less пришла ей на смену и позволяет возвращаться назад, искать и переходить к нужной строке. Важный момент: пока less открыта, вы находитесь внутри программы, а не в командной строке, и команды оболочки туда вводить не нужно.

Клавиши навигации и поиска

Управление строится на одиночных клавишах. Основные из них собраны в таблицу.

КлавишаДействие
пробел или fстраница вниз
bстраница вверх
стрелки или j и kстрока вниз и вверх
gперейти в начало
Gперейти в конец
/словоискать вперёд
?словоискать назад
n и Nследующее и предыдущее совпадение
qвыйти

Поиск понимает регулярные выражения, так что можно искать и по шаблону. Найденные места подсвечиваются. Ключ -i делает поиск нечувствительным к регистру, пока в шаблоне нет прописных букв. Включить его можно и внутри less: набрать -i и нажать Enter.

Полный перечень команд откроется по нажатию h. Это встроенная справка less, там же описаны менее частые возможности, например метки и переход по номеру строки.

Ключи запуска, которые меняют отображение

У less есть много опций, но на практике для работы с сетевым выводом пригодятся четыре.

  • -S не переносит длинные строки, а обрезает их по ширине окна. Стрелки вправо и влево позволяют прокручивать текст по горизонтали. Это спасает таблицы ss и netstat, которые при переносе превращаются в кашу.
  • -N показывает номера строк. Удобно, когда нужно сослаться на конкретное место при обсуждении с коллегой или в обращении в поддержку.
  • -R передаёт цветовые коды терминалу, и цвет отображается как цвет, а не печатается набором символов ESC и скобок.
  • -i ищет без учёта регистра, пока в шаблоне нет прописных букв.

Ключи комбинируются: ss -tan | less -SN. Постоянные значения можно задать через переменную окружения LESS, но если вы не уверены, как она настроена на машине, лучше задавать ключи в самой команде, чтобы результат был предсказуемым.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно

Режим слежения: клавиша F и ключ +F

Внутри less нажатие F включает режим слежения: просмотрщик переходит в конец файла и показывает новые строки по мере их появления, как tail -f. Выйти из режима слежения можно сочетанием Ctrl+C, при этом вы остаётесь в less и можете продолжить поиск по накопленному тексту. Тот же режим запускается ключом +F: less +F файл.

Это даёт преимущество перед чистым tail -f: когда в журнале мелькнуло интересное событие, вы прерываете слежение, листаете назад, ищете слово и затем снова нажимаете F. В tail -f такого выбора нет, прокручивать приходится средствами терминала.

Есть и ограничение: если вывод идёт по конвейеру от долгой команды, less может ждать, пока команда закончит работу или накопит достаточно данных. Для бесконечных потоков вроде непрерывного ping надёжнее писать вывод в файл и открывать файл.

Типичные затруднения

Ситуация первая: вывод выглядит как набор непонятных символов вида ESC и скобок. Это цветовые коды. Запустите less с ключом -R или отключите цвет у самой команды.

Ситуация вторая: поиск ничего не находит, хотя слово есть на экране. Проверьте регистр, наличие спецсимволов в шаблоне и то, что вы ищете именно в нужном направлении. Знак вопроса ищет назад от текущей позиции, и если вы уже в начале файла, результата не будет.

Ситуация третья: команда не выходит. Нажмите q, это основная клавиша выхода. Ctrl+C внутри less обычно прерывает только текущее действие, например долгий поиск, но не закрывает программу.

Ситуация четвёртая: вы хотите сохранить найденное. less ничего не записывает сам. Скопируйте строки средствами терминала или вернитесь к исходной команде, отфильтруйте нужное через grep и перенаправьте результат в файл или в tee. Если вывод объёмный и нужны только первые строки, достаточно head, а не просмотрщика: так проще и быстрее.

Связки less с другими командами

less чаще всего стоит в самом конце конвейера, после всех фильтров: сначала сужают поток, потом листают то, что осталось. Несколько готовых вариантов.

  • ip route | less -N — таблица маршрутов с номерами строк, если записей много.
  • ss -tan | grep ESTAB | less -S — установленные соединения без переноса длинных строк.
  • dig example.com TXT | less — ответ с длинным списком записей, который нужно пролистать.
  • less +G файл — открыть файл сразу в конце, откуда удобно искать назад клавишей ?.
  • less +/слово файл — открыть файл и сразу перейти к первому совпадению.

Для экономии времени запомните порядок: фильтр, затем просмотр. Если нужно только узнать число строк, лучше wc -l, а для первых нескольких строк head: они выдают результат на экран и не требуют выхода по q. Просмотрщик оправдан там, где предстоит читать, искать и возвращаться назад.

Учтите ещё одну деталь: в некоторых системах команда man по умолчанию тоже показывает страницы через less, поэтому клавиши из таблицы выше работают и в справке.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно
lessтерминалпросмотр выводаlinux

Часто задаваемые вопросы

Читайте также