Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

MORE

ИМЯ
more - Осуществляет поэкранный просмотр текста файла.

СИНТАКСИС


  more [-cdflrsuw] [-n] [+linenumber] [+/pattern] [name...]

ОПИСАНИЕ
Этот фильтр позволяет осуществлять проверку текста, выведенного на один полный экран. После каждого заполнения экрана команда делает паузу и выводит на нижней строке экрана сообщение типа:


  --More-

(дальше). Если при этом пользователь нажимает клавишу Enter, то на экран будет выведена следующая строка текста. Если пользователь нажимает клавишу SPACE (пробел), будет выведен следующий полный экран. Другие возможности описаны ниже.

ОПЦИИ

-nЦелое число, используемое в качестве размера окна (в строках) вместо принятого для команды more по умолчанию.
Команда more отображает в верхней части экрана каждую страницу с начала, стирая при этом предварительно выведенную там строку. Это исключает прокрутку экрана, облегчая чтение текста с помощью команды more. Эта опция игнорируется, если терминал не имеет возможности очищать строку до конца.
-dКоманда more в конце каждого заполненного экрана высвечивает сообщение "Hit space to continue, Rubout to abort" ("Нажмите пробел для продолжения, а Rubout - для прерывания"). Эта опция полезна, если команда more используется в качестве фильтра в некоторых системах, таких как класс, где многие пользователи могут быть неопытными.
-fПод действием этой опции команда more считает не экранные, а логические строки. То есть, длинные строки не заворачиваются. Рекомендуется использовать эту опцию, если вывод команды nroff подключается в конвейер через команду ul, которая может генерировать escape последовательности. Эти escape-последовательности содержат символы, которые обычно занимают экранные позиции, но не печатаются при выводе на терминал в качестве части escape-последовательности. Таким образом, команда more может решить, что строки длиннее, чем они есть на самом деле и ошибочно завернуть их.
-lУмышленно не обрабатывается команда Ctrl-L (form feed - переход на новую страницу). Если не задана эта опция, команда more останавливается после любой строки, содержащей Ctrl-L, до тех пор, пока экран не заполнится до конца. Также, если некоторый файл начинается со знака form feed, экран очищается прежде, чем распечатывается этот файл.
-uОбычно команда more осуществляет такое же подчеркивание, как при команде nroff, в том виде, который соответствует данному терминалу: если терминал может делать подчеркивание или имеет режим выделения, то выходные данные команды more соответствуют escape-последовательностям для разрешения подчеркивания или режима выделения для подчеркнутого текста в исходном файле. Опция -u подавляет такую обработку.
-rОбычно, команда more игнорирует управляющие символы, которые она не интерпретирует некоторым образом. Под действием опции -r эти символы отображаются как ^C, где стоит "С" для любого такого символа.
-wОбычно, команда more завершает работу при подходе к концу своих входных данных. А под действием опции -w, она запрашивает пользователя и ждет нажатия любой клавиши перед завершением работы.
+linenumber Команда more стартует со строки с номером linenumber (номер строки).
+/pattern Команда more начинает просмотр текста за две строки до той строки, в которой содержится регулярное выражение pattern (шаблон).

Команда more просматривает файл /etc/termcap для определения характеристик терминала и для определения установленного по умолчанию размера окна. Для терминала, отображающего 24 строки, размер окна по умолчанию составляет 22 строки.

Команда more просматривает переменную среды MORE для предварительной установки любых желаемых флагов. Например, если вы предпочитаете просматривать файлы, используя режим работы -с, то команда "МORE=-с" интерпретатора shell в файле .profile обеспечивает все обращения к команде more для реализации этого режима.

Если команда more считывается из файла, а не из программного канала, вслед за приглашением "--MORE--" высвечивается процентное соотношение. Оно показывает, какая часть данного файла (в символах, а не в строках) уже прочитана.

Другие последовательности, которые могут быть введены в паузах команды more, а также их действия, приведены ниже (i - это необязательный целый аргумент, по умолчанию равен 1):

i<space>Отображает еще i строк (или другой полный экран, если не задан аргумент). Ctrl-D Отображает еще 11 строк ("scroll" - прокрутка экрана). Если аргумент i задан, то размер прокручиваемых строк устанавливается равным i.
dТоже, что и под действием Ctrl-D.
i zТоже, что и при вводе space (пробел), при этом i, если оно указано, становится новым размером окна.
i sПропускает i строк и выводит полный экран строк.
i fПропускает i полных экранов и выводит полный экран.
q или Q Выходит из команды more.
=Выводит номер текущей строки.
vЗапускает экранный редактор vi на текущей строке.
h или ?Вспомогательная команда (help). Дает описание всех команд more.
i/exprОтыскивает i-ое появление регулярного выражения expr. Если выражение expr встретилось менее i раз, и входные данные представляют собой файл (а не программный канал), то позиция в файле остается без изменений. В противном случае, высвечивается полный экран, начиная на две строки выше того места, где было найдено регулярное выражение. Можно использовать пользовательские символы стирания и уничтожения для редактирования регулярного выражения. Стирание последней встретившейся первой колонки отменяет команду поиска.
i nОсуществляет поиск i-го появления последнего введенного регулярного выражения.
'(Одиночная кавычка) Возвращается к точке, с которой был начат последний поиск. Если в текущем файле поиск не проводился, эта команда возвращает вас к началу файла.
!commmandПодключает интерпретатор shell с командой command. Символы % и ! в "command" заменяются на текущее имя файла и предыдущую команду shell соответственно. Если текущее имя файла отсутствует, то знак % не раскрывается. Последовательности "\%" и "\!" заменяются на "%" и "!" соответственно.
i:nПереходит к следующему i-му файлу, заданному в командной строке (переходит к последнему файлу, если i не указано).
i:pПереходит к предыдущему i-му файлу, заданному в командной строке. Если эта команда задана в середине распечатывания файла, команда more возвращается к началу файла. Если i не задано, команда more переходит к первому файлу. Если команда more не считывается из файла, то звенит звонок и ничего больше не происходит.
:fВысвечивает текущее имя файла и номер строки.
:q или :QВыходит из команды more (также как q или Q).
.Повторяет предыдущую команду.

Команды начинают действовать немедленно. Нет необходимости нажимать клавишу возврата каретки. До того момента, когда задан сам командный символ, пользователь может ввести символ уничтожения строки для отмены сформированного численного аргумента. Кроме того, пользователь может ввести символ стирания для повторной высветки сообщения "--More--".

Этой программой терминал устанавливается в режим noecho (неотображаемая передача), так что процесс вывода может быть непрерывным. За исключением команд (/) и (!), то, что вы вводите, не будет показано на терминале.

В качестве примера использования команды more можно привести следующий вывод длинного оглавления каталога командой ls -la:


  ls -la | more -s

ФАЙЛЫ


  /etc/termcap         База данных терминала
  /usr/lib/more.help   Файл подсказки (help)

РАЗРЕШЕНИЕ НА ИСПОЛЬЗОВАНИЕ
Эта утилита была разработана в Университете г.Беркли, шт.Калифорния и используется по разрешению.

ЗАМЕЧАНИЯ

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