Команды терминала: more и less

Раздел для тем в стадии оформления.
Аватара пользователя

Автор темы
root
Сообщения: 648
Зарегистрирован: 16 фев 2017, 17:03
Решено: 3
Откуда: г. Хабаровск
Благодарил (а): 192 раза
Поблагодарили: 152 раза

Команды терминала: more и less

Сообщение root » 29 июн 2017, 14:09

// Тема недописана.

Доброго времени суток. В этой теме мы рассмотрим команды терминала такие как more и less.
More
Вы найдете много текстовых файлов в мире Linux. Файлы конфигурации и файлы журналов хранятся в текстовом формате. Но эти файлы обычно имеют большое содержимое, которое не помещается на одной странице. Для удобства придумали команду [b]more[/b], которая разбивает выходные данные на отдельные страницы, ожидая от вас нажатия на пробел для вывода следующей страницы или Enter для вывода новой строки. Кроме того, в more можно перенаправлять выходной поток всего, что угодно.

Вводный пример
Перейдите в каталог /usr/bin и выполните вывод его содержимого:
cd /usr/bin&& ls -l

При этом на экран будет выведен большой перечень файлов. Чтобы разбить эти данные на несколько страниц, просто отправьте их по конвейеру в команду more:
cd /usr/bin&& ls -l | more
Пример 1.png
“По конвейеру” означает через специальный символ (shift + обратная косая черта). Конвейер - это сокращённое обозначение перенаправления выходного потока команды ls во входной поток команды more.
Управляющие последовательности.png
Лимитирование строк страниц
Используя опцию -num, вы можете ограничить количество выводимых для каждой страницы строк. Например, сократим вывод содержимого файла /var/log/syslog до 8 строк:
more -8 /var/log/syslog
Использование -num.png
Теперь страница содержит только 8 строк. Когда вы нажмете пробел для прокрутки вниз, он вам покажет еще 8 строк.

Отображать сообщение пользователя
Тем, кто запускает more в первый раз, может быть неизвестно, как прокручивать страницу вниз. Чтобы этого избежать, мы можем использовать параметр -d, который в конце каждой выведенной страницы будет высвечивать сообщение:"Нажмите пробел для продолжения, 'q' для выхода", а в случаи, если будет нажата неправильная управляющая клавиша, то выводить оповещение:"Нажмите 'h' для получения инструкций".

Подавить прокручивание
С параметром -c больше не будет прокручиваться страница. Он очистит предыдущую страницу и разместит следующую страницу или строку.
more -10 -c /var/log/syslog
Слева терминал с опцией -c, справа - без.png
Сжать несколько пустых строк
Чтобы сжать их, мы можем использовать опцию -s . Вот пример:
more -s ./123
Пример использования -s.png
Строка поиска
Если ваш файл журнала достаточно длинный, вам не легко найти нужную строку. Строка поиска может помочь вам. Использование +/string может найти строку для вас и поместить ключевое слово в начало строки. Скажем, мы хотим найти «FocalTechPS» в файле /var/log/Xorg.0.log. Тогда синтаксис:
more +/FocalTechPS /var/log/Xorg.0.log
Поиск по ключевому слову.png
Затем, чтобы продолжить поиск на следующей строке, вы можете нажать кнопку /, следуя слову FocalTechPS.

Отображение содержимого начинается с определенной строки
Вы также можете отобразить содержимое файла с определенной строкой с помощью опции +num. Например, у нас есть файл с 9 строками внутри него. Выведем содержимое с 6 строки:
more +6 ./123
Демонстрация работы опции +num.png
Можем ли мы использовать more для отображения двоичного файла?
Напрямую - нет. Перенаправляя выходной поток strings в more - да :)
strings /bin/cat | more
Двоичные файлы.png
Less
Как и more, less - является пейджером (от англ. page - страница), т.е. программой, которая постранично отображает текстовые файлы. Первая версия была создана Марком Нудельманом еще в 1983 году для нужд компаний, в которой он работал. Дело в том, что в те времена more не имел функционала для движения "назад" по документу. Марк со своими коллегами часто жаловались на эту проблему, говоря, что им нужно "backwards more" (больше в обратном направлении), но на их просьбу добавить данный функционал своевременно не отреагировали, поэтому Марк написал свой пейджер и назвал его less (меньше). Получилась своеобразная игра слов: меньше - значит больше в обратном направлении :) Что ж, это было небольшое вступление, а теперь

Поговорим о преимуществах
  • Поиск и выделение
    less выделяет текст, соответствующий вашему поисковому запросу, чтобы вы могли легко увидеть совпадение.
  • Несколько файлов
    less позволяет вам переключаться между различными текстовыми файлами, запоминая свою позицию в каждом из них. Вы также можете выполнить один поисковой запрос, который будет охватывать все файлы, с которыми вы работаете.
  • Жирный и подчеркнутый
    В некоторых текстовых файлах, особенно в man страницах в стиле Unix, используются наложение для имитации подчеркнутого и полужирного текста. less интерпретирует это и отображает текст реально подчеркнутым или жирным.
  • Расширенные возможности
    less имеет большое количество причудливых функций для продвинутых пользователей. Изучив основы, вы обнаружите, что способны настроить less таким образом, что можете делать все, что хотите. Вы можете изменять привязки клавиш, устанавливать разные табуляции, настраивать фильтры для просмотра сжатых данных или других типов файлов, настраивать подсказки, отображать номера строк, использовать файлы тегов и т.д.
  • Портативность
    less доступен на разных машинах, разных системных архитектурах и разных терминалах. Практически везде, где бы вы ни были, вы найдете less. Вам не нужно будет учиться использовать другой пейджер для каждой используемой вами системы.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
User: adminka
OS: Linux Mint 18.2 Sonya Cinnamon :thumbs:
Kernel: 4.11.0-14-generic
Эмоджи смайлы                  


Вернуться в «Песочница»