Утиліта 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
.