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

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

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

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

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

Доброго времени суток. В этой теме мы рассмотрим команды терминала такие как more и less.

MoreВы найдете много текстовых файлов в мире Linux. Файлы конфигурации и файлы журналов хранятся в текстовом формате. Но эти файлы обычно имеют большое содержимое, которое не помещается на одной странице. Для удобства придумали команду more, которая разбивает выходные данные на отдельные страницы, ожидая от вас нажатия на пробел для вывода следующей страницы или 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

В процессе... ► Показать
У вас нет необходимых прав для просмотра вложений в этом сообщении.
User: adminka
OS: Linux Mint 18.2 Sonya Cinnamon :thumbs:
Kernel: 4.11.0-14-generic
Devices ► Показать
Я не волшебник, я только учусь ;)

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей