Введение
Терминальный пейджер less – это программа для просмотра текстовых файлов постранично в Unix, Windows и Unix-подобных системах, позволяющая просматривать (но не изменять) содержимое текстового файла по одному экрану за раз. Она похожа на more, но имеет расширенную возможность навигации как вперед, так и назад по файлу. В отличие от большинства текстовых редакторов/просмотрщиков Unix, less не требует загрузки всего файла в память перед началом работы, что обеспечивает мгновенный просмотр независимо от размера файла.
less is a terminal pager program on Unix, Windows, and Unix like systems used to view (but not change) the contents of a text file one screen at a time. It is similar to , but has the extended capability of allowing both forward and backward navigation through the file. Unlike most Unix text editors/viewers, does not need to read the entire file before starting, allowing for immediate viewing regardless of file size.
История
Марк Нудельман изначально писал меньше кода в 1983–85 годах, испытывая потребность в версии, способной осуществлять обратную прокрутку отображаемого текста. Название возникло как шутка, основанная на фразе "backwards more" (больше назад). Первоначально Less был разработан для Unix, но впоследствии портирован на ряд других операционных систем, включая MS DOS, Microsoft Windows, OS/2 и OS 9, а также Unix-подобные системы, такие как Linux. Поддержка Less до сих пор осуществляется Нудельманом. Чтобы запомнить разницу между Less и More, часто говорят: ",", подразумевая, что Less обладает большей функциональностью, чем More. Существует также поговорка: "меньше – это больше, больше или меньше".
Часто используемые варианты
g: Выделите только текущее совпадение искомой строки. i: Поиск без учета регистра. m: Показать более подробную подсказку, включая позицию в файле. N: Показать номера строк (полезно при просмотре исходного кода). x3: Установить размер табуляции (количество столбцов на символ табуляции) в указанное число (3, в данном примере) (полезно при просмотре исходного кода). S: Отключить перенос строк ("обрезать длинные строки"). Длинные строки можно просмотреть горизонтальной прокруткой. X: Оставить содержимое файла на экране после выхода из less. ?: Показать справку. follow имя: Режим отслеживания для файлов журналов, которые перезаписываются во время просмотра.
Часто используемые команды
Команда клавиши Следующая страница Следующая половина страницы Предыдущая страница Предыдущая половина страницы Редактировать содержимое или Следующая строка Предыдущая строка Начало файла Конец файла Режим следования (для развертывания журналов или каналов). Прервать (или с v581) для отмены. или Первая строка или Последняя строка Строка Прямой поиск текста интерпретируется как регулярное выражение. Обратный поиск как фильтр, подобный grep. Следующее совпадение поиска Предыдущее совпадение поиска Отключить выделение найденного (см. опцию командной строки g). Переключатель опции, например, переключает опцию учета регистра при поиске. Установить метку Перейти к метке или Информация о файле Следующий файл Предыдущий файл Помощь. Отображается с помощью less, для выхода нажмите q. Выход.
Учитывания памяти
Опции `buffers=n` и `auto buffers` управляют объемом памяти, который less может использовать для буферизации входных данных. Это особенно важно, когда less напрямую обращается к именованному файлу, который изменяется или удаляется во время работы less, а также когда less получает данные по каналу, и эти данные нельзя произвольно получить или воссоздать. С другой стороны, неограниченная буферизация означает, что less будет запрашивать столько памяти, сколько поступает данных, что может привести к использованию виртуальной памяти и активному обмену данными между оперативной памятью и дисками (резко снижая производительность системы для большинства приложений на хосте), или даже к исчерпанию памяти, когда любой процесс на хосте, запрашивающий память, может получить отказ в запросе, или аварийно завершиться при попытке доступа к памяти, которую ОС обещала, но не может найти при фактическом использовании, что вызовет ошибку страницы. По этой причине некоторые компании и организации настаивают на использовании less только с фиксированным размером буфера или полном его отключении на рабочих машинах.