less

Постраничное отображение файлов (UNIX)

Синтаксис:

less [-[+]aBcCdeEfimMnNqQrsSuUw] [-b n] [-x n]

[-[z] n] [-h n] [-j n] [-p шаблон]

[-y n] [-[oO] журнал] [-t тег]

[-T файл_тегов] [+ команда] [файл...]


Поддерживаемые платформы:

Neutrino


Опции:

Большинство опций можно изменить во время работы less с помощью команды (тире).

Кроме того, используются опции из переменной среды LESS. Анализ этой переменной среды выполняется до обработки командной строки, следовательно опции, указанные в командной строке, переопределяют опции в LESS. Любую опцию, содержащуюся в переменной среды LESS, можно переопределить на ее значение по умолчанию в командной строке с помощью комбинации символов -+ (указывается в начале командной строки).

Для обозначения конца строки опций можно использовать знак доллара ($). Это важно для таких опций, как, например, -t, при вводе которой обрабатывается следующая за ней строка.

-?

Отобразить сводную информацию по доступным командам less (аналогично команде h). Если указана эта опция, все остальные опции игнорируются, и после вывода экрана справки утилита less завершает работу. (В зависимости от того, как командный интерпретатор обрабатывает вопросительный знак, может потребоваться отделение этого знака следующим образом: -\?)

-a

Начинать поиск после последней выведенной на экран строки, т.е. пропустить все строки, отображенные на экране. По умолчанию поиск начинается со второй строки на экране (или после последней найденной строки; см. описание опции -j).

-B

Деактивировать автоматическое выделение буферов (использовать только число буферов по умолчанию). Если будет считано больше данных, чем помещается в буферы, наиболее старые данные будут отброшены. По умолчанию, при поступлении данных из стандартного потока ввода буферы выделяются автоматически по мере необходимости во избежание потери данных.

-b n

Использовать нестандартное число буферов. Каждый буфер имеет размер 1KБ, по умолчанию используется 10 буферов (за исключением поступления данных из стандартного потока ввода; см. описание опции -B). Число n обозначает количество буферов, которое следует использовать.

-C

Очистить экран и обновить его с верхней строки вниз. По умолчанию экран обновляется путем прокрутки с нижнего края экрана.

-c

Обновить весь экран с верхней строки вниз. По умолчанию экран обновляется путем прокрутки с нижнего края экрана.

-d

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

-E

Автоматически завершить работу при первом достижении конца файла. По умолчанию единственным способом завершения работы less является команда q.

-e

Автоматически завершить работу при втором достижении конца файла. По умолчанию единственным способом завершения работы less является команда q.

-f

Принудительно открыть нестандартные файлы (специальные файлы, ориентированные на каталоги или устройства). А также подавить предупреждающее сообщение при открытии двоичного файла. По умолчанию утилита less отклоняет попытки открытия нестандартных файлов.

-h n

Выполнять прокрутку назад не более чем на n строк. Если необходима прокрутка назад более чем на n строк, то вместо нее экран обновляется в направлении вперед. (Если на терминале прокрутка назад не поддерживается, подразумевается применение опции -h 0).

-i

Игнорировать регистр символов; символы в верхнем и нижнем регистрах считаются одинаковыми. Кроме того, можно выполнять поиск наложенного или подчеркнутого текста. Если в строке поиска присутствуют символы в верхнем регистре, эта опция игнорируется.

-j n

С помощью этой строки на экране можно указывать "целевые" строки. Целевые строки являются объектами поиска по тексту, поиска по тегам, перехода к определенному номеру строки, к определенной (в процентах) позиции в файле и к отмеченной позиции.

Каждая строка экрана имеет номер: верхняя строка экрана 1, следующая 2 и т.д. Номер может быть отрицательным тогда он указывает на строку относительно нижнего края экрана; нижняя строка экрана имеет номер -1 (Один), следующая имеет номер -2 и т.д.

Если указана опция -j, поиск начинается со строки, следующей сразу за целевой строкой. Например, если указано значение -j4, то целевой строкой будет четвертая строка экрана, и поиск начнется с пятой строки экрана.

-M

Выводить более подробные приглашения, чем при использовании команды more.

-m

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

-N

Отображать номер стоки в начале каждой строки.

-n

Подавлять номера строк. Вариант по умолчанию (использование номеров строк) в некоторых случаях может привести к замедлению работы утилиты less, в частности, при очень большом входном файле. Подавление номеров строк с помощью опции -nпозволяет решить эту проблему. Использование номеров строк означает, что номер строки отображается в подробном приглашении и в команде =; по команде v номер текущей строки передается в редактор.

-O файл

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

Если файл журнала не указан, его можно укзать с помощью опций -o и -O непосредственно в less. Если имя файла не указано, они просто передают имя файла журнала.

-o файл

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

-p шаблон

Начать с первого вхождения значения шаблон в файле. Опция -p в командной строке эквивалентна вводу +/шаблон.

-Q

Вывести краткую информацию; не подавать звуковой сигнал терминала.

-q

Вывести краткую информацию; не подавать звуковой сигнал терминала при попытке прокрутки за пределы конца файла или начала файла. При наличии используется "визуальный сигнал" терминала. Звуковой сигнал подается при ряде других ошибок, таких как ввод недопустимого символа. Значению по умолчанию звуковой сигнал терминала подается во всех подобных случаях.

-r

Выводить "необработанные" управляющие символы. По умолчанию при отображении управляющих символов используется символ вставки (^). Например, символ Ctrl-A (восьмеричный 001) отображается как ^A.

Следует отметить, что при использовании опции -r утилита less не имеет возможности отслеживать фактический вид экрана (поскольку он зависит от реакции экрана на каждый конкретный управляющий символ). Как следствие, при просмотре могут возникать различные проблемы, такие как разбивка длинных строк в неправильных местах.

-S

Обрезать строки с длиной, превышающей ширину экрана, не переносить. При этом остальная часть длинной строки игнорируется. По умолчанию длинные строки переносятся, т.е. не поместившаяся часть строки отображается в следующей строке.

-s

Сжать последовательные пустые строки в одну пустую строку.

-T файл_тегов

Использовать указанный файл тегов вместо файла tags.

-t тег

Внести изменения в файл, содержащий указанный тег. Для работы этой опции в текущем каталоге должен существовать файл с именем tags.

-U

Обрабатывать возврат на позицию и возврат каретки как управляющие символы (т.е. они обрабатываются в соответствии с опцией -r).

По умолчанию, если не указана опция -u или -U, то символы возврата на позицию, указанные следом за символом подчеркивания обрабатываются специальным образом: подчеркнутый текст отображается с использованием аппаратной функции подчеркивания терминала. Символы возврата на позицию между двумя одинаковыми символами также обрабатываются специальным образом: наложенный текст выводится с использованием аппаратной функции вывода полужирного текста терминала. Остальные символы возврата на позицию удаляются вместе с соответствующими предыдущими символами. Символы возврата каретки, сразу после которых следуют новые строки, удаляются; другие символы возврата каретки обрабатываются в соответствии с опцией -r.

-u

Считать символы возврата на позицию и возврата каретки печатаемыми символами (т.е. отправлять их на терминал при их появлении в потоке ввода).

-w

Использовать пустые строки для представления строк после конца файла. По умолчанию используется символ тильды (~).

-x n

Установить позиции табуляции через n позиций (по умолчанию 8).

-y n

Максимальное число строк прокрутки вперед. Если необходимо выполнить прокрутку вперед более чем на n строк, осуществляется перерисовка экрана. При необходимости можно выполнять перерисовку с верхней части экрана с помощью опций - c или -C. По умолчанию любое движение вперед приводит к прокрутке.

[z] n

Изменить размер окна прокрутки по умолчанию на n строк. Значение по умолчанию один полный экран. Для изменения размера окна также можно использовать команды z и w. Следует отметить, что опцию z можно не указывать (аналогично n).

+

Если опция командной строки начинается с символа + (плюс), то остальная часть этой опции рассматривается как исходная команда для утилиты less. Например, если указана опция +G, то утилита less начинает работу не с начала, а с конца файла; если указана опция +/xyz, работа начинается с первого вхождения последовательности xyz в файле.

Особый случай: действие +число аналогично +числоg, т.е. вывод начинается с указанного номера строки (следует учесть, что работа при этом может замедлиться см. описание команды g). Если опция начинается с двух знаков "плюс" (++), то исходная команда будет относиться к каждому просматриваемому файлу (не только к первому). Команду + (см. описание в разделе "Команды") также можно использовать для установки или изменения исходной команды для каждого файла.

файл

Путевое имя входного файла. Если операнд (операнды) файл не указан, утилита less использует стандартный поток ввода. Если в качестве операнда файл указан символ тире (), то выполняется чтение из стандартного потока ввода в данной точке последовательности.

Описание:

Утилита less представляет собой программу, аналогичную утилите more, но, в отличие от нее, утилита less позволяет перемещаться по файлу не только вперед, но и назад. Утилита less использует системную базу данных функций терминалов и может работать на различных терминалах. Поддержка терминалов для печати на бумаге ограничена (на таких терминалах в начале строк, печатаемых в верхней части экрана, ставится префикс стрелка_вверх).

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

Команды:

Команды могут начинаться с десятичного числа, в следующих описаниях обозначаемого как n. Это число используется в ряде команд в соответствии с описанием.

[n]h

Справка: вывод сводной информации об этих командах. Можно забыть все остальные команды, но эту следует помнить.

[n] клавиша пробела or [n] f

Выполнить прокрутку вперед на n строк; по умолчанию на одно окно (см. описание опции -z). Если число n превышает размер экрана, то выводится один полный экран.

[n] z

Аналогично клавиша пробела, но если указано n, то размер окна устанавливается в соответствии с этим значением.

[n] Enter

Выполнить прокрутку вперед на n строк; по умолчанию 1. n строк выводится полностью даже в том случае, если n превышает размер экрана.

[n] d

Выполнить прокрутку вперед (вниз) на n строк; по умолчанию на 1/2 размера экрана. Если указано число n, оно становится новым значением по умолчанию для последующих команд d и u.

[n]b

Выполнить прокрутку назад на n строк; по умолчанию одно окно (см. описание опции -z). Если число n превышает размер экрана, отображается только последний полный экран.

[n]w

Аналогично команде b, но если указано n, то устанавливается новый размер окна в соответствии с этим значением.

[n]k

Выполнить прокрутку назад на n строк; по умолчанию 1. n строк выводится полностью даже в том случае, если n превышает размер экрана.

[n] u

Выполнить прокрутку назад (вверх) на n строк; по умолчанию на 1/2 размера экрана. Если указано число n, оно становится новым значением по умолчанию для последующих команд d и u.

[n] r

Обновить экран.

[n] F

Выполнить прокрутку вперед и продолжить попытки чтения после достижения конца файла. Как правило, эта команда используется тогда, когда конец файла уже достигнут. С помощью этой команды можно отслеживать конец файла, размер которого растет во время его просмотра. (Поведение аналогично команде tail -f.)

[n] g

Перейти к строке n файла; по умолчанию 1 (начало файла). (Следует отметить, что при большом значении n выполнение может занять некоторое время.)

[n]G

Перейти к строке n файла; по умолчанию к концу файла. Следует отметить, что выполнение может занять некоторое время при большом значении n или если число n не указано и производится чтение из стандартного потока ввода, а не из файла.

[n] p

Перейти к позиции n (в процентах) в файле. Аргумент n должен иметь значение от 0 до 100. Эта команда работает, если производится чтение из стандартного потока ввода, но только если утилитой less достигнут конец файла. Команда всегда выполняется быстро, но не всегда целесообразна.

[n]{

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

[n]}

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

[n](

Аналогично {, но для круглых, а не фигурных скобок.

[n])

Аналогично }, но для круглых, а не фигурных скобок.

[n] [

Аналогично {, но для квадратных, а не фигурных скобок.

[n] ]

Аналогично }, но для квадратных, а не фигурных скобок.

Esc Ctrl- F символсимвол

Аналогично {, но два символа используются в качестве открывающей и закрывающей скобок соответственно. Например, с помощью команды ESC ^F <> можно перейти вперед к символу ">", соответствующему символу "<" в верхней отображенной строке.

Esc Ctrl- B символсимвол

Аналогично }, но два символа используются в качестве открывающей и закрывающей скобок соответственно. Например, с помощью команды ESC ^B <> можно перейти назад к символу "<", соответствующему символу ">" в нижней отображенной строке.

mсимвол

Отметить текущую позицию строчной буквой, указанной после команды.

'символ

(Одиночная кавычка.) Вернуться к позиции, ранее отмеченной строчной буквой, указанной после команды. Если после команды указана вторая одиночная кавычка: вернуться к позиции, в которой была последний раз выполнена команда перемещения "large". Если после команды указан символ ^ или $: перейти к началу или концу файла соответственно. Метки сохраняются и при просмотре нового файла, поэтому команду ' можно использовать для перехода между входными файлами.

[n] /шаблон

Поиск n-й строки в файле, содержащей заданный шаблон, в прямом направлении; по умолчанию n равно 1. Шаблон представляет собой регулярное выражение, распознаваемое утилитой sed. Поиск начинается со второй отображенной строки (см. описание опций -a и -j, изменяющие это условие).

Некоторые символы при вводе в начале шаблона в командах / и ? являются специальными; они изменяют тип поиска и не являются частью шаблона:

!

Найти строки, не соответствующие шаблону.

*

Выполнить поиск по нескольким файлам. Если при поиске достигнут конец текущего файла, и соответствие не найдено, то поиск будет продолжен в следующем файле из списка, указанного в командной строке.

@

Начать поиск с первой строки первого файла в списке, указанном в командной строке, независимо от текущей отображенной на экране информации и настроек в опциях -a или -j.

[n] ?шаблон

Найти (в обратном направлении) n-ую строку в файле, содержащую заданный шаблон. Поиск начинается со строки, расположенной перед верхней отображенной строкой.

Некоторые символы при вводе в начале шаблона являются специальными; см. описание команды /.

[n]Esc /шаблон

То же, что и /*.

[n]Esc ?шаблон

То же, что и ?*.

[n] n

Повторить предыдущую операцию поиска для n-й строки, содержащей последний шаблон. Если предыдущая операция поиска была изменена командой !, то выполняется поиск n-й строки, не содержащей заданный шаблон. Если предыдущая операция поиска была изменена командой *, то при отсутствии результата в текущем файле поиск продолжается в следующем (или предыдущем) файле. Изменения предыдущей операции поиска с помощью команды @, не учитываются.

[n] N

Повторить предыдущую операцию поиска в противоположном направлении.

Esc n

Повторить предыдущую операцию поиска с возможным пересечением границ файла. Действие аналогично изменению предыдущей операции поиска командой *.

Esc N

Повторить предыдущую операцию поиска в противоположном направлении с возможным пересечением границ файла.

:e [имя_файла]

Просмотреть новый файл. Если имя файла не указано, выполняется повторный просмотр "текущего" файла (см. команды :n и :p) из списка файлов в командной строке. Знак процента (%) в значении имя_файла заменяется на имя текущего файла. Символ решетки (#) заменяется на имя предыдущего просмотренного файла. Имя файла вставляется в список файлов в командной строке для возможности последующего просмотра с помощью команд :n и :p. Если имя файла состоит из нескольких файлов, то все эти имена вставляются в список файлов, и выполняется просмотр первого из них.

E

То же, что и :e.

[n] :n

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

[n] :p

Просмотреть предыдущий файл из списка, заданного в командной строке. Если указано число n, выполняется просмотр n-го предыдущего файла.

[n] :x

Просмотреть первый файл из списка, заданного в командной строке. Если указано число n, выполняется просмотр n-го файла в списке.

=

Вывести информацию о просматриваемом файле, в т.ч. его имя, номер строки и смещение байта в нижней отображаемой строке. По возможности выводится длина файла, число строк в файле и объем файла выше последней отображенной строки в процентах.

-символ

Если после команды указана буква опции командной строки, то команда изменяет настройку указанной опции и выводит сообщение с описанием новой настройки. Если буква имеет числовое значение (например, команда -b или -h) или строковое значение (например, команда -P или -t), то после буквы опции можно указать новое значение. Если новое значение не указано, то выводится сообщение с описанием текущей настройки, изменений не производится.

-+символ

Если после команды указана буква опции командной строки, то команда сбрасывает настройки опции на настройки по умолчанию и выводит сообщение с описанием новой настройки. Команда -+X аналогична команде -+X в командной строке. Эта команда не влияет на опции со строковыми значениями.

--символ

Если после команда указана буква опции командной строки, то команда устанавливает для опции настройки, обратные настройкам по умолчанию, и выводит сообщение с описанием новой настройки. Команда --X аналогична команде -X в командной строке. Эта команда не влияет на опции с численными или строковыми значениями.

+команда

Указанная команда выполняется каждый раз при просмотре нового файла. Например, если указано +G, то утилита less отображает каждый файл не с начала, а с конца.

V

Вывести номер версии запускаемой утилиты less.

q

Завершить работу утилиты less.

v

Вызвать редактор для изменения текущего просматриваемого файла. Вызываемый редактор определен в переменной среды EDITOR, по умолчанию vedit.

! команда_командного_интерпретатора


Вызвать командный интерпретатор для выполнения команды команда_командного_интерпретатора. Знак процента (%) в команде заменяется на имя текущего файла. Символ решетки (#) заменяется на имя предыдущего просмотренного файла.

По команде !! повторяется последняя выполненная команда командного интерпретатора, по команде !, если команда командного интерпретатора не указана, выполняется просто вызов командного интерпретатора. Во всех случаях вызываемый командный интерпретатор определен в переменной среды SHELL, по умолчанию sh.

| m команда_командного_интерпретатора

Символ m представляет любую букву метки. В результате выполнения этой команды секция входного файла передается указанному командному интерпретатору. Передаваемая секция файла определяется текущей позицией и позицией, отмеченной указанной буквой. Кроме того, опция m может иметь значение ^ или $, означающие начало или конец файла соответственно. Если в качестве значения m указана точка (.) или символ новой строки, то передается текущий экран. Текущий экран в любом случае является минимальным передаваемым объемом информации.

Файлы:

/usr/local/lib/less.hlp

Файл справки для команды help утилиты less.

Переменные среды:

COLUMNS

Определяет число столбцов на экране. Имеет приоритет над числом столбцов, указанным в переменной TERM.

EDITOR

Имя редактора (используется командой v).

LESS

Опции, автоматически передаваемые утилите less.

LESSEDIT

Прототип строки редактора (используется для команды v).

LINES

Определяет число строк на экране. Имеет приоритет над числом строк, указанным в переменной TERM.

SHELL

Командный интерпретатор, используемый для выполнения команды !, а также для раскрытия шаблонов имен файлов.

TERM

Тип терминала, на котором запускается утилита less. Переменная TERM должна быть определена.

TMPDIR

Переопределяет местоположение временных файлов по умолчанию (/tmp). Каталог /tmp или каталог, заданный в переменной TMPDIR, должен быть доступной для записи файловой системой.

Автор:

Марк Нуделман (Mark Nudelman)

Предупреждения:

В результате работы команды = выводится номер верхней строки на экране, но номер байта и позиция в процентах выводятся для нижней строки на экране.

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