7. More и less

 

More и less

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

Основное назначение этих команд - вывод на экран или в окно текста большого объема по частям, чтобы его можно было листать в обоих направлениях, а также поиск в этом тексте.

Это удобно во многих случаях: при просмотре большого текстового файла без запуска текстового редактора (например, xedit) или длинного списка содержимого каталога.

More

Начнем с команды more. Это основная команда постраничной или построчной прокрутки большого текста на экране и поиска в этом тексте.

Чтобы просмотреть большой текстовый файл textf lie, введите следующую команду:

$ more textfile

После нажатия клавиши Enter на экране появится первая страница текста, в последней строке которой будет одно слово -More- (еще). Нажатие клавиши пробела прокручивает текст на одну страницу, нажатие Enter - на одну строку. В конце текста на экране появится подсказка командной строки.

Чтобы выполнить поиск в тексте в направлении от начала к концу, введите косую черту (/) и строку поиска. Текст прокрутится до первого появления искомого слова или фразы. Для продолжения поиска введите п.

Команде more можно передать результаты выполнения другой команды, воспользовавшись методом конвейеризации (гл. 16).

Если в моей системе ввести команду ls -l для просмотра содержимого каталога /tmp, то будет выведен список в 237 строк - больше, чем может вместить самое большое окно xterm. Чтобы просмотреть этот список по частям, необходимо передать результаты выполнения команды ls -1 команде more.

$ ls -l /tmp | more

Как видим, к команде ls -1 при помощи вертикальной черты (в большинстве английских клавиатур — Shift+\) присоединена команда more. Такое соединение команд называется конвейеризацией. Результат команды ls -1 выводится по условиям команды more - с постраничной или построчной прокруткой и поиском текста.

Примечание

Подробные инструкции по применению команды more приведены на странице руководства этой команды. Работа со страницами руководства рассмотрена в параграфе, посвященном команде man

Less

Команда less - усовершенствованный вариант команды more. В дополнение к функциям, описанным выше (постраничная или построчная прокрутка текста от начала до конца и поиск), команда less позволяет выполнять следующие операции:

  • переход на указанную строку;
  • переход в начало или. конец текста;
  • прокрутка текста от конца к началу;
  • поиск в обратном направлении.

Чтобы перейти на определенную строку текста, введите ее номер с буквой g в конце. Если опустить номер строки, будет выполнен переход к первой строке. Вместо строчной буквы g можно указать заглавную (G), но тогда при отсутствии номера строки будет выполняться переход не к первой, а к последней строке.

Для построчной прокрутки текста вверх или вниз достаточно нажать соответствующую клавишу со стрелкой. Постраничная прокрутка вверх выполняется нажатием клавиш Ctrl+B.

Наконец, операция поиска в прямом направлении (от начала до конца) задается косой чертой ( /), р обратном - вопросительным знаком.

Примечание

Вероятно, некоторые из вас обратили внимание на то, что эти операции соответствуют командам текстового редактора vi.

Как и команда more, команда less имеет собственную страницу руководства. Работа со страницами руководства рассмотрена в параграфе, посвященном команде man.