Команда more в Linux

Команда more в Linux


Утилита more предназначена для постраничного просмотра файлов в терминале Linux. Своим названием она обязана надписи more (в русскоязычном варианте — дальше), появляющейся внизу каждой страницы.


Команда more linux — одна из самых примитивных команд для работы с текстом. Её ближайшая родственница — команда less — обладает куда большим набором опций и дополнительных возможностей. Давайте разберемся с её синтаксисом и примерами использования.


Синтаксис и опции more


В эмуляторе терминала Linux команда записывается так:


$ more опции файл


Список опций команды:


  • -d — вывод информации в конце страницы о клавишах, использующихся для продолжения работы, завершения её или получения инструкций;

  • -l — игнорирование в тексте символа разрыва страницы;

  • -f — подсчёт числа логических строк вместо экранных;

  • -p — очистка экрана терминала для того, чтобы пользователю не пришлось пользоваться прокруткой перед выводом следующей порции текста;

  • -c — устранение потребности в прокрутке (как и -p) — отображение текста, начиная с верха экрана, и стирание при этом предыдущего вывода построчно;

  • -s — замена нескольких пустых строк, расположенных подряд, одной пустой строкой;

  • -u — удаление подчёркивания;

  • -n — отображение n-го количества строк;

  • +n — отображение текста, начиная со строки с номером n;

  • +/строка — поиск в файле указанной строки и начало вывода текста именно с неё;

  • --help — вызов справки;

  • -v (--version) — вывод на экран текущей версии утилиты.

Также у команды more есть собственные горячие клавиши и интерактивные команды:


  • h (?) — помощь (вывод информации только об интерактивных командах);

  • ПРОБЕЛ — отображение следующей порции текста (по умолчанию количество строк зависит от текущего размера окна терминала);

  • z — то же, что и ПРОБЕЛ;

  • ENTER — вывод текста построчно (шаг команды — одна строка);

  • d (^D) — прокрутка текста на количество строк, соответствующее размеру терминала;

  • q (Q) — выход из утилиты;

  • s — переход на одну строку вперёд;

  • f — переход на одну экранную страницу вперёд;

  • b (^B) — переход на одну экранную страницу назад;

  • ' — возвращение к месту начала поиска;

  • = — отображение текущего количества строк;

  • /pattern — поиск с использованием регулярных выражений;

  • n — поиск слов и фраз, соответствующих последнему использованному регулярному выражению;

  • !command (:command) — выполнение команды в субоболочке;

  • v — открытие файла в текстовом редакторе, назначенном по умолчанию, а если таковой не найден, использование консольного текстового редактора для открытия файла;

  • ^L — удаление с экрана всего, кроме содержимого файла;

  • :n — переход к следующему файлу;

  • :p — переход к предыдущему файлу;

  • :f — вывод названия текущего файла и количества строк в нём;

  • . - повторное выполнение предыдущей команды.


Примеры использования more


Для того, чтобы просмотреть текст из файла, применяется команда:



more example-file-for-more-command.txt



Также в команде можно перечислить несколько имён файлов одно за другим, разделяя их пробелом. Содержимое этих файлов будет выведено в том же порядке. Пример:



more abc1.txt dfg2.txt



Если файл находится не в текущей директории, нужно указывать его полный адрес.


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



more +8 -5 example-file-for-more-command.txt

По умолчанию команда more Linux считает строкой именно экранную строку — количество символов, которое помещается в один ряд по ширине окна. Для выполнения счёта в логических строках (при наборе текста они разделяются нажатием Enter), используется опция -f. Пример:



more -f +8 -5 example-file-for-more-command.txt



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



locate bin | more -10



Когда команда вывела часть текста и бездействует в ожидании дальнейших действий пользователя можно выполнять интерактивные команды. Они нужны для управления выводом.


Например, для того, чтобы узнать номер текущей строки, следует нажать клавишу =, а чтобы просмотреть файл в текстовом редакторе — клавишу v.




Следует заметить, что не все интерактивные команды могут быть выполнены, если в утилиту перенаправлен вывод другой команды. Открытие текстового редактора, как и переход на одну страницу назад (b или ^B) работает только при просмотре текстовых файлов.




Для того, чтобы получить список всех интерактивных команд, следует нажать клавишу h.


Добавить комментарий

Автору будет очень приятно получить обратную связь.

Комментариев 0