Утилита more подходит для постраничного просмотра файлов в терминале Linux. Своим названием она обязана надписи more, появляющейся внизу каждой страницы. Команда more linux одна из самых примитивных команд для работы с текстом. Её ближайшая родственница — команда less — обладает куда большим набором опций и дополнительных возможностей. Давайте разберемся с её синтаксисом и примерами использования.
В эмуляторе терминала Linux команда записывается так:
$ more options_file
Список опций команды:
-d
— вывод информации в конце страницы о клавишах, использующихся для продолжения работы, завершения её или получения инструкций;-l
— игнорирование в тексте символа разрыва страницы;-f
— подсчёт числа логических строк вместо экранных;-p
— очистка экрана терминала для того, чтобы пользователю не пришлось пользоваться прокруткой перед выводом следующей порции текста;-c
— устранение потребности в прокрутке (как и -p) — отображение текста, начиная с верха экрана, и стирание при этом предыдущего вывода построчно;-s
— замена нескольких пустых строк, расположенных подряд, одной пустой строкой;-u
— удаление подчёркивания;-n
— отображение n-го количества строк;+n
— отображение текста, начиная со строки с номером n;+/leght
— поиск в файле указанной строки и начало вывода текста именно с неё;--help
— вызов справки;-v (--version)
— вывод на экран текущей версии утилиты.Также у команды more есть собственные горячие клавиши и интерактивные команды:
h (?)
— помощь (вывод информации только об интерактивных командах);SPACE
— отображение следующей порции текста (по умолчанию количество строк зависит от текущего размера окна терминала);z
— то же, что и SPACE;ENTER
— вывод текста построчно (шаг команды — одна строка);d (^D)
— прокрутка текста на количество строк, соответствующее размеру терминала;q (Q)
— выход из утилиты;s
— переход на одну строку вперёд;f
— переход на одну экранную страницу вперёд;b (^B)
— переход на одну экранную страницу назад;'
— возвращение к месту начала поиска;=
— отображение текущего количества строк;/pattern
— поиск с использованием регулярных выражений;n
— поиск слов и фраз, соответствующих последнему использованному регулярному выражению;!command (:command)
— выполнение команды в субоболочке;v
— открытие файла в текстовом редакторе, назначенном по умолчанию, а если таковой не найден, использование консольного текстового редактора для открытия файла;^L
— удаление с экрана всего, кроме содержимого файла;:n
— переход к следующему файлу;:p
— переход к предыдущему файлу;:f
— вывод названия текущего файла и количества строк в нём;.
- повторное выполнение предыдущей команды.Для того, чтобы просмотреть текст из файла, применяется команда:
$ 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
.
Примените скидку, вставив промокод в специальное поле при оформлении заказа: