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.