More и less
Команды more (больше) и less (меньше) тесно связаны и функционально подобны. Интересно, что у той, которая называется "меньше", возможностей больше.
Основное назначение этих команд – вывод на экран или в окно текста большого объема по частям, чтобы его можно было листать в обоих направлениях, а также поиск в этом тексте.
Это удобно во многих случаях: при просмотре большого текстового файла без запуска текстового редактора (например, xedit) или длинного списка содержимого каталога.
More
Начнем с команды more. Это основная команда постраничной или построчной прокрутки большого текста на экране и поиска в этом тексте.
Чтобы просмотреть большой текстовый файл textf lie, введите следующую команду:
$ more textfile
После нажатия клавиши Enter на экране появится первая страница текста, в последней строке которой будет одно слово – More – (еще). Нажатие клавиши пробела прокручивает текст на одну страницу, нажатие Enter – на одну строку. В конце текста на экране появится подсказка командной строки.
Чтобы выполнить поиск в тексте в направлении от начала к концу, введите косую черту (/) и строку поиска. Текст прокрутится до первого появления искомого слова или фразы. Для продолжения поиска введите п.
Команде more можно передать результаты выполнения другой команды, воспользовавшись методом конвейеризации (гл. 16).
Если в моей системе ввести команду ls – l для просмотра содержимого каталога /tmp, то будет выведен список в 237 строк – больше, чем может вместить самое большое окно xterm. Чтобы просмотреть этот список по частям, необходимо передать результаты выполнения команды ls – | команде more.
$ ls – l /tmp | more
Как видим, к команде ls – | при помощи вертикальной черты (в большинстве английских клавиатур – SHIFT + \) присоединена команда more. Такое соединение команд называется конвейеризацией. Результат команды ls – | выводится по условиям команды more – с постраничной или построчной прокруткой и поиском текста.
Примечание
Подробные инструкции по применению команды more приведены на странице руководства этой команды. Работа со страницами руководства рассмотрена в параграфе, посвященном команде man.
Less
Команда less – усовершенствованный вариант команды more. В дополнение к функциям, описанным выше (постраничная или построчная прокрутка текста от начала до конца и поиск), команда less позволяет выполнять следующие операции:
- переход на указанную строку;
- переход в начало или. конец текста;
- прокрутка текста от конца к началу;
- поиск в обратном направлении.
Чтобы перейти на определенную строку текста, введите ее номер с буквой g в конце. Если опустить номер строки, будет выполнен переход к первой строке. Вместо строчной буквы g можно указать заглавную (G), но тогда при отсутствии номера строки будет выполняться переход не к первой, а к последней строке.
Для построчной прокрутки текста вверх или вниз достаточно нажать соответствующую клавишу со стрелкой. Постраничная прокрутка вверх выполняется нажатием клавиш CTRL + B.
Наконец, операция поиска в прямом направлении (от начала до конца) задается косой чертой (/), р обратном – вопросительным знаком.
Примечание
Вероятно, некоторые из вас обратили внимание на то, что эти операции соответствуют командам текстового редактора vi.
Как и команда more, команда less имеет собственную страницу руководства. Работа со страницами руководства рассмотрена в параграфе, посвященном команде man.