Команда more в linux

Обновлено: 04.07.2024

29 июн 2017, 17:09

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

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

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

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

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

Теперь страница содержит только 8 строк. Когда вы нажмете пробел для прокрутки вниз, он вам покажет еще 8 строк.

Подавить прокручивание
С параметром -c больше не будет прокручиваться страница. Он очистит предыдущую страницу и разместит следующую страницу или строку.
more -10 -c /var/log/syslog

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

Затем, чтобы продолжить поиск на следующей строке, вы можете нажать кнопку /, следуя слову FocalTechPS.

Отображение содержимого начинается с определенной строки
Вы также можете отобразить содержимое файла с определенной строкой с помощью опции +num. Например, у нас есть файл с 9 строками внутри него. Выведем содержимое с 6 строки:
more +6 ./123

Можем ли мы использовать more для отображения двоичного файла?
Напрямую - нет. Перенаправляя выходной поток strings в more - да
strings /bin/cat | more

Как и more , less - является пейджером (от англ. page - страница), т.е. программой, которая постранично отображает текстовые файлы. Первая версия была создана Марком Нудельманом еще в 1983 году для нужд компаний, в которой он работал. Дело в том, что в те времена more не имел функционала для движения "назад" по документу. Марк со своими коллегами часто жаловались на эту проблему, говоря, что им нужно "backwards more" (больше в обратном направлении), но на их просьбу добавить данный функционал своевременно не отреагировали, поэтому Марк написал свой пейджер и назвал его less (меньше). Получилась своеобразная игра слов: меньше - значит больше в обратном направлении Что ж, это было небольшое вступление, а теперь

Favorite

Добавить в избранное

Все, что нужно знать о команде more в Linux

Введение

Что такое команда more в Линукс

Команда more позволяет выводить изображение в терминале на одной странице одновременно. Это особенно полезно при выполнении команды, которая вызывает много прокрутки, таких как команды ls или команды du.

Примеры использования команды more

Выполните следующую команду в окне терминала:

Это возвращает список всех процессов, запущенных в системе .

Результаты будут прокручиваться за пределы конца экрана.

Теперь выполните следующую команду:

Для того, чтобы перейти к следующей странице необходимо нажать пробел на клавиатуре.

Команда more работает с любым приложением, которое выводит на экран.

Вам не нужен текстовый редактор чтобы прочитать файл. Например, если вы хотите прочитать текстовый файл, можно использовать команду more следующим образом:

Хороший способ проверить это, ввести следующую команду в окне терминала:

Это также изменяет поведение дополнительной команды при нажатии на неправильную клавишу.

Как остановить текст из скроллинга

По умолчанию строки текста прокручивают вверх страницу, пока экран не будет заполнен новым текстом. Если вы хотите очистить экран и следующую страницу, которая будет отображаться без прокрутки используйте следующую команду:

Кроме того, можно использовать следующую команду, которая будет отрисовывать каждый экран сверху, убрав остальную часть строки, после отображения.

Сжатие нескольких строк в одну строку

Если у вас есть файл с большим количеством пробелов, то вы можете получить больше, если сжать каждый блок пустых строк в одну строку.

Читать Управление пакетами Linux и как применять пакеты

Например рассмотрим следующий текст:

Вы можете получить больше команды, чтобы отобразить строки следующим образом:

Для того, чтобы сделать это, выполните следующую команду:

Укажите размер экрана

Вы можете указать количество строк для использования после команды more перестает отображать текст.

Приведенная выше команда будет отображать 5 строк одновременно.

Начать с определенного номера строки

Вы можете получить больше, чтобы начать работать с определенного номера строки:

Например представьте, что вы имеете следующий файл:

Теперь посмотрим на эту команду:

Вывод будет выглядеть следующим образом

Прокрутки аспект останется.

Приведенная выше команда покажет следующее:

Начать с определенной линии текста

Если вы хотите, пропустить большую часть файла, пока не дойдете до определенной строки текста, используйте следующую команду:

Выделите определенное количество строк за раз, используя More

По умолчанию при нажатии на пробел команда more будет прокручиваться по длине страницы, в которой размер экрана или настройка задается переключателем -u.

Если вы хотите, чтобы прокрутить 2 линии в то время, нажмите кнопку с цифрой 2 перед нажатием клавиши пробела. Для 5 линий нажмите 5 до пробела.

Настройка выполняется только для этого одним нажатием.

Кнопка return прокручивает одну строку за один раз. Если вы хотите, чтобы это было 5 линий в то время, нажмите кнопку с цифрой 5 с последующим нажатием клавиши return. Это становится новым значением по умолчанию поэтому кнопка return всегда будет прокручиваться на 5 строк. Конечно, Вы можете использовать любое количество, которое вы выбираете, 5 это просто пример.

Как пропустить строки и страницу текста

При использовании команды more вы также можете пропустить строки текста.

Отобразить на дисплее номер текущей строки

Можно отобразить номер текущей строки, нажав кнопку равно (=).

Как выполнить поиск текста с помощью more

Для поиска текстового шаблона, используя команду more нажмите слэш и ввести выражение для поиска.

Вы можете использовать любое допустимое регулярное выражение как часть поискового термина.

Все, что нужно знать о команде more в Linux

Резюме

Для получения дополнительной информации о команде more читайте справочную страницу Linux .

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

В операционной систем Линукс для просмотра больших текстовых файлов используется команда more. В отличии от less, она позволяет читать файлы по одной странице.

Это очень полезная функция, так как часто бывает, что не удается прочитать очень большие текстовые документы и это касается не только Linux ну и Windows. Обычно это происходит с логами. К примеру копится годами какой-нибудь лог и занимает где-то 30 гигабайт. Возникла потребность открыть его и посмотреть, что происходит.

Стандартные утилиты не смогут этого сделать, а если им это удастся, вывод читать будет крайне неудобно, так как очень много текста. В этой ситуации можно воспользоваться утилитой more.

Синтаксис

Рассмотрим синтаксис команды.

  • -d - показывает в конце страницы подсказки, например "Нажмите пробел для продолжения".
  • -f - считает логические строки.
  • -с - текст показывается сверху, при этом стирает предыдущий вывод.
  • -p - очистка терминала, как и параметр "-с". Используется для того, чтобы не было прокрутки и информацию было удобно читать.
  • -s - заменяет пустые строки, которые стоят рядом на одну.
  • -u - убирает подчеркивание.
  • --help - вывести справочную информацию.
  • -v - текущая версия утилиты.

Спавочная информация

После запуска утилиты, управление осуществляется горячими клавишами.

Чтобы осуществить переход на другую страницу используется клавиша "Пробел". Для смещения на одну строчку вниз - "Enter".

Основные горячие клавиши:

  • h - мини help. Выдаст описание команд.
  • :f - утилита покажет имя текущего файла и количество строк.
  • z или "Пробел" - переход на следующую страницу.
  • = - выводит количество строк на данный момент.
  • q - выход из more.

Примеры

Для первого примера запустим утилиты без параметров, а именно прочитаем лог "daemon.log", который состоит из двух страниц.

Читаем лог, при помощи утилиты

more daemon.log
Итак, это была только первая страница. Перейдем на вторую, нажав клавишу "Пробел".

Утилита more позволяет читать несколько файлов. В этом случае нужно вводить имена документов по очереди, разделяя их пробелом. Вывод текста будет осуществляться в таком же порядке.

Прочитаем два лога. Один auth.log, второй - daemon.log.

more auth.log daemon.log

Читаем два документа

Открываем второй документ

Как видно из скриншота, первый лог оказался небольшим. Чтобы перейти во второй документ нажмем "Пробел".

Откроем документ, которые лежит в домашнем каталоге /home/ya/dokument.

Пример

Как видно из скриншота выше, в документе много пустых строк, чтобы убрать повторы, введем команду с опцией "-s".

Просмотр содержимого файлов в командной строке Linux

Рассмотрим несколько команд, которые используются для просмотра содержимого текстовых файлов в командной строке Linux.

Команда cat

Команда cat выводит содержимое файла, который передается ей в качестве аргумента.

Это самый простой и наиболее часто используемый способ для вывода содержимого текстовых файлов. Но выводить большие файлы через cat не всегда удобно.

Команда cat

Команда nl

Команда nl действует аналогично команде cat , но выводит еще и номера строк в столбце слева.

Команду nl удобно применять для просмотра программного кода или поиска строк в файлах конфигурации.

Команда nl

Команда less

Утилита less выводит содержимое файла, но отображает его только в рамках текущего окна в режиме просмотра.

Команда less

Вы можете прокручивать текст файла клавишами стрелок или перелистывать страницы клавишами w и z .

Для поиска текста внутри файла нажмите / .

Для просмотра списка доступных горячих клавиш нажмите h

Чтобы выйти из режима просмотра используется клавиша q .

Очень удобно, что после выхода окно терминала остается чистым и не содержит текст файла.

Команда more

Команда more очень похожа на команду less . Она также выводит файл в терминале в режиме просмотра, но имеет некоторые отличия от команды less.

Также more после своей работы оставляет текст файла в терминале, а less работает «чисто» и не сохраняет текст в терминале.

Команда head

Команда head выводит на экран только первые 10 строк файла.

Используя опцию -n можно задать количество строк, которое нужно вывести. Например, чтобы вывести 15 строк используется команда:

Вместо -n можно просто использовать знак минус - , за которым сразу указывается количество строк.

Команда head

Команда tail

Команда tail аналогична команде head , но выводит последние 10 строк файла.

Заключение

Команды, которые мы рассмотрели, имеют дополнительные возможности и области применения. Для получения справки по каждой команде можно воспользоваться Man-страницами.

Читайте также: