Главная >> Команды >> Команда 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.

Выводы

Эта вполне подходит для выполнения наиболее тривиальных задач при просмотра текста. У неё простой синтаксис, мало опций и небольшое количество дополнительных возможностей для управления выводом, однако, иногда и этого набора более чем достаточно.

Pеклама
Посмотреть детали

Anubis – это максимально легкое open-source решение, созданное специально для защиты небольших веб-ресурсов от бесконечного потока запросов от ботов и AI парсеров. Этот инструмент можно считать "ядерным вариантом", потому что он заставляет ботов выполнять вычисления похожие на майнинг криптовалюты. Но это неплохая альтернатива для тех, кто не может или не хочет использовать Cloudflare. Посмотреть детали

Creative Commons License
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

2 комментария к “Команда more в Linux”

Оставьте комментарий