меньше (Unix)

Терминал пейджера
меньше
Разработчик(и)Марк Нудельман
Первоначальный выпуск1984 ; 40 лет назад [1] (1984)
Стабильный релиз
661 [2] / 30 июня 2024 г. ; 4 месяца назад (2024-06-30)
Репозиторийgithub.com/gwsw/less
Написано вС
Операционная системаКроссплатформенный
ТипСистемная утилита
ЛицензияДвойная лицензия GNU GPLv3 и специальная лицензия в стиле BSD
Веб-сайтwww.greenwoodsoftware.com/less/

lessэто программа -пейджер терминала в Unix , Windows и Unix-подобных системах, используемая для просмотра (но не изменения) содержимого текстового файла по одному экрану за раз. Она похожа на more , но имеет расширенные возможности, позволяющие как прямую, так и обратную навигацию по файлу. В отличие от большинства текстовых редакторов/просмотрщиков Unix, less не нужно читать весь файл перед запуском, что позволяет просматривать его немедленно, независимо от размера файла.

История

Марк Нудельман изначально писал lessв 1983–85 годах, когда ему была нужна версия, moreспособная делать обратную прокрутку отображаемого текста. Название произошло от шутки «делать «назад больше». Первоначально lessбыл разработан для Unix, но был портирован на ряд других операционных систем, включая MS-DOS , Microsoft Windows , OS/2 и OS-9 , а также на Unix-подобные системы, такие как Linux . [3] Он по-прежнему поддерживается Нудельманом сегодня.

Чтобы помочь запомнить разницу между lessи more, распространенной шуткой является выражение " меньше > больше ", подразумевающее, что имеет большую функциональность, чем больше . Похожая поговорка - " есть , более или менее".lesslessmore

Использование

less можно вызывать с параметрами для изменения его поведения, например, количества строк для отображения на экране. Некоторые параметры различаются в зависимости от операционной системы. Пока less отображает файл, можно использовать различные команды для навигации по файлу. Эти команды основаны на командах, используемых more и vi . Также можно искать шаблоны символов в файле.

По умолчанию less выводит содержимое файла на стандартный вывод (по одному экрану за раз). Если аргумент имени файла опущен, он выводит содержимое из стандартного ввода (обычно вывод другой команды через канал ). Если вывод перенаправляется куда-либо, кроме терминала , например, на канал другой команды, less ведет себя как cat .

Расширение «lesspipe» может автоматически определять типы файлов, такие как PDF , мультимедиа и сжатые архивы , а также автоматически определять, какую программу запустить для отображения информации о файле, такой как текст из файла PDF, метаданные фотографий, списки файлов в сжатом архиве и содержимое одного файла в сжатом архиве. [4] [5]

Синтаксис команды :

меньше [опции] [имя_файла]...

Часто используемые опции

  • -g: Выделить только текущее совпадение любой искомой строки.
  • -i: Поиск без учета регистра.
  • -m: Показать более подробную подсказку, включая положение файла.
  • -N: Показывать номера строк (полезно для просмотра исходного кода ).
  • -x3: Установить табуляции (количество столбцов на символ табуляции) на указанное число (в данном примере 3) (полезно для просмотра исходного кода ).
  • -S: Отключить перенос строк («обрезать длинные строки»). Длинные строки можно увидеть при боковой прокрутке.
  • -X: Оставить содержимое файла на экране при выходе из less.
  • -?: Показать помощь.
  • --follow-name: Режим следования для файлов журнала, которые заменяются во время просмотра.

Часто используемые команды

КлючКоманда
Space barСледующая страница
dСледующая половина страницы
bПредыдущая страница
uПредыдущая половина страницы
vРедактировать содержимое
j или ↵ EnterСледующая строка
kПредыдущая строка
HomeВерх файла
EndКонец файла
FFollow Mode (для расширения журналов или каналов). Прерывание (или из v581 + [6] ) для отмены.CtrlX
g или <Первая линия
G или >Последняя строка
⟨n⟩GЛиния⟨n⟩
/⟨text⟩Прямой поиск по ⟨text⟩. Текст интерпретируется как регулярное выражение .
?⟨text⟩Обратный поиск как/
&⟨text⟩grep как фильтр
nСледующий поисковый запрос
NПредыдущий поисковый запрос
EscuОтключить выделение совпадений (см. -gпараметр командной строки)
-⟨c⟩Переключить опцию ⟨c⟩, например, включить/выключить функцию учета регистра при поиске-i
m⟨c⟩Установить отметку⟨c⟩
'⟨c⟩Перейти к Марку⟨c⟩
= или +CtrlGИнформация о файле
:nСледующий файл
:pПредыдущий файл
hПомощь. Это представлено с less, чтобы выйти.q
qПокидать

Примеры

less  -M  readme.txt # Прочитать "readme.txt"
less +F /var/log/mail.log # Режим следования за
файлом журнала * | less # Более простой анализ файла
less -I -p void *.c # Поиск "void" без учета регистра во всех файлах .c             

Соображения относительно памяти

Параметры --buffers=nи --auto-buffersуправляют тем, сколько памяти less может использовать для буферизации входных данных. Это особенно актуально, когда less напрямую обращается к именованному файлу, который изменяется или удаляется, пока less все еще работает, и когда less получает данные из канала, и к данным нельзя получить произвольный доступ или сгенерировать их заново. С другой стороны, неограниченная буферизация означает, что less будет запрашивать столько памяти, сколько ему поступают данные, что может привести к использованию системой виртуальной памяти и перекачке большого количества данных между ОЗУ и дисками (что значительно снижает производительность системы для большинства приложений на хосте) или даже к еще большему истощению памяти, когда любое приложение на хосте, запрашивающее память, может получить отказ в этом запросе или может дать сбой при попытке доступа к памяти, которую ОС обещала, но не может найти, когда приложение фактически пытается ее использовать, и происходит сбой страницы. По этой причине некоторые компании/организации настаивают на том, чтобы less использовался только с фиксированной буферизацией — или вообще не использовался — на производственных машинах. [ необходима цитата ]

Смотрите также

Ссылки

  1. ^ "less, a paginator". Архивировано из оригинала 7 февраля 2023 г.
  2. ^ "меньше домашней страницы".
  3. ^ "Меньше часто задаваемых вопросов".
  4. ^ "lesspipe(1) — less — Debian bullseye — Debian Manpages".
  5. ^ "lesspipe(1) — Страницы руководства Arch".
  6. ^ "Less version 581". Greenwood Software. 7 апреля 2021 г. Получено 31 июля 2023 г.
  • Страница руководства на freebsd.org
  • Страница руководства на man7.org
  • Запись в каталоге свободного программного обеспечения
Retrieved from "https://en.wikipedia.org/w/index.php?title=Less_(Unix)&oldid=1232017215"