Способи оплати Abuse

Команда more у Linux

26.11.2021, 20:00

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