Как выйти из less
Перейти к содержимому

Как выйти из less

  • автор:

Меньше команд в Linux

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

При запуске less не читает весь файл, что приводит к гораздо более быстрой загрузке по сравнению с текстовыми редакторами, такими как vim или nano .

Команда less в основном используется для открытия больших файлов .

Как использовать меньше

Общий синтаксис программы less следующий:

Например, чтобы просмотреть содержимое файла /usr/share/common-licenses/GPL-3 , введите:

Вы также можете перенаправить вывод команды в less используя канал. Например, чтобы просмотреть вывод страницы команды ps за страницей, введите:

Навигация по содержимому файла

При открытии файла, содержание которых является слишком большим , чтобы поместиться на одной странице, вы увидите один двоеточие ( : ).

Чтобы перейти к следующей странице, нажмите клавишу f или Space bar . Если вы хотите переместиться вниз на определенное количество строк, введите число, за которым следует пробел или клавиша f .

Вы можете нажать Down arrow или Enter для прокрутки вперед на одну строку и Up arrow прокрутки назад на одну строку.

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

Если вы хотите найти шаблон, введите косую черту ( / ), а затем шаблон, который вы хотите найти. Как только вы нажмете Enter меньше будет искать совпадения. Для поиска в обратном направлении используйте ( ? ), А затем шаблон поиска.

По достижении конца файла в нижней части экрана отображается строка (END) .

Чтобы выйти из режима less и вернуться в командную строку, нажмите q .

Меньше вариантов

Если вы хотите, чтобы номера строк отображались less запустите программу с параметром -N :

По умолчанию при выходе из less содержимое файла будет удалено с экрана. Чтобы оставить содержимое файла на экране, используйте параметр -X :

Параметр +F говорит less следить за содержимым файла на предмет изменений. Это полезно при открытии файлов журнала.

При запуске с +F , less будет вести себя так же, как tail -f .

Меньше команд

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

Большинство команд, которые вы можете вводить с клавиатуры, основаны на командах, используемых как more и vi . Одно и то же действие можно выполнить с помощью разных клавиш.

Ниже приведены некоторые из наиболее часто используемых команд для навигации по содержимому файла при просмотре less:

Команда Действие
Down arrow , Enter , e или j Перейти на одну строку вперед.
Up arrow , y или k Перейти на одну строку назад.
Space bar или f Перейти на одну страницу вперед.
b Перейти на одну страницу назад.
/pattern Ищите подходящие шаблоны.
?pattern Поиск в обратном направлении совпадающих шаблонов.
n Повторите предыдущий поиск.
N Повторите предыдущий поиск в обратном направлении.
g Перейти к первой строке файла.
Ng Перейти к N-й строке файла.
G Перейти к последней строке файла.
p Перейти в начало файла.
Np Заходим на N процентов в файл.
h Показать справку.
q Выходи less .

Выводы

К настоящему времени вы должны хорошо понимать, как использовать команду less .

Чтобы получить полный список всех опций и команд, введите в терминале man less .

Кунг-фу стиля Linux: наблюдение за файлами

Linux или Unix приятно отличаются от многих других операционных систем тем, что Linux-программы часто выдают сообщения, которые записываются в какой-нибудь журнал. А многие команды даже можно настроить так, чтобы они генерировали бы больше сообщений, чем обычно. Я знаю о том, что в Windows есть средство для просмотра событий, но множество программ не особенно охотно делятся сведениями о своей работе. Это усложняет поиск источников проблем в тех случаях, когда что-то идёт не так, как ожидалось.

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

Как и во многих других случаях, в Unix-подобных системах есть инструменты для решения вышеописанной задачи. И, что неудивительно, таких инструментов существует довольно много. Если вы, например, пользовались командой tail , то вы уже видели один из таких инструментов. Но tail — это лишь вершина айсберга.

Давайте рассмотрим пример анализа файла, который можно назвать «матерью всех логов». Это — /var/log/syslog . Попробуйте вывести его на экран с помощью команды cat или less (я, в своих системах, всегда создаю псевдоним more для команды less , поэтому если я вдруг упомяну команду more — знайте, что я имею в виду less ). Этот файл, вероятнее всего, будет очень большим, его размеры будут постоянно расти. В обычной настольной системе он ведёт себя довольно спокойно, но в некоторых старых системах и на серверах в нём можно увидеть последствия бурной деятельности разных программ. В любом случае, за исключением тех ситуаций, когда система только что загружена, в нём будут многие страницы данных.

Хакерский подход к анализу логов

Поиск информации, которая уже присутствует в этом файле, особых сложностей не вызывает. Тут можно воспользоваться grep , или можно загрузить копию файла в текстовый редактор. Проблема заключается в анализе свежей информации. Попробуйте подключить USB-устройство к системе (или отключите его от неё). Вы увидите, как в syslog появились новые записи. А что если в него постоянно добавляются десятки сообщений? Как за ними уследить?

И эта проблема характерна далеко не только для файла syslog . Например, интересно может быть наблюдать за файлом листинга в ходе выполнения долгой компиляции кода. То же относится и к наблюдению за перестроением RAID-массива. В общем-то, в Linux всегда можно найти некий большой файл, постоянно пополняемый свежими сведениями, за которым нужно понаблюдать.

Команда tail

Традиционный подход к наблюдению за файлами, постоянно пополняемыми информацией, заключается в использовании команды tail . Она берёт большой файл и возвращает лишь некоторое количество его последних строк. Эту команду можно вызвать с опцией -f . Тогда она будет ждать появления в файле новых данных и выводить их. Эта опция весьма полезна для наблюдения за файлами, в которые постоянно добавляется что-то новое. Опция -F приводит к практически такому же эффекту, но благодаря ей tail , если не может сразу открыть файл, будет продолжать пытаться открыть его. С помощью опции -m можно задавать количество выводимых последних строк файла, а с помощью опции -c — количество байтов. Опция -s позволяет задавать частоту проверки изменений файла.

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

Вы увидите несколько строк из конца файла системного журнала. А если подключить к компьютеру USB-устройство или отключить такое устройство от компьютера, можно увидеть, как сведения, попавшие в журнал, практически мгновенно выводятся на экране. Повторно запускать tail при этом не нужно.

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

Меньше — значит больше: полезные возможности команды less

У команды less есть опция +F , которая превращает эту команду в хорошую замену команды tail . На самом деле, если вы испытаете команду, приведённую ниже, вас может посетить мысль о том, что результаты её работы не очень-то и отличаются от результатов работы tail . Вот эта команда:

Вот как вывод этой команды выглядит на моём компьютере.

Результаты работы команды less

Обратите внимание на то, что в нижней части экрана имеется надпись Waiting for data… . В данный момент утилита less работает практически так же, как и tail . Но если нажать CTRL+C — произойдёт кое-что интересное. Ну — что-то, возможно, и произойдёт. Попробуйте. Если less переходит в командный режим — значит всё в порядке. Теперь можно заниматься всем тем, чем обычно занимаются, просматривая файлы с помощью less . Если же по нажатию CTRL+C работа less прекратится, это будет означать, что ваш Linux-дистрибутив «помог» вам, установив некоторые стандартные опции less с использованием переменной окружения LESS . Попробуйте такую команду:

Если вы увидите, что в списке опций имеется —quit-on-intr , это будет значить, что проблема заключается именно в данной строке. Её надо убрать. После этого переключиться в командный режим можно с использованием CTRL+C . Это, кроме того, означает, что вам нужно запомнить, что для выхода из less используется команда q . Если вы вышли из режима наблюдения за файлом и хотите снова в него вернуться — просто нажмите F .

Если вы пользуетесь less в обычном режиме (то есть — не использовали при запуске утилиты опцию +F ), вы можете нажать клавишу F на клавиатуре для перехода в «tail-режим». А ещё интереснее то, что, нажав ESC-F можно в этом режиме что-то искать, при этом, если в поступающих данных найдётся совпадение с тем, что вас интересует, система вам об этом сообщит.

Команду less можно ещё использовать с ключом —follow-name . Это позволит добиться того же эффекта, что и использование опции -F команды tail .

Наблюдение за файлами с помощью команды watch

Иногда файл, за которым нужно наблюдать, не пополняется новыми данными, добавляемыми в его конец, а просто иногда меняется. Например, это файл /proc/loadavg или многие другие файлы из директории /proc . Использование команд tail или less не особенно хорошо подходит для наблюдения за такими файлами. Тут нам на помощь придёт команда watch :

Результат выполнения команды watch

Эта команда вызывает cat каждые 5 секунд и аккуратно выводит результат. Команда watch поддерживает множество полезных опций. Например, опция -d позволяет выделять отличия, а -p позволяет задействовать высокоточный таймер. Опция -c включает поддержку цвета.

Использование текстового редактора для наблюдения за файлами

Возможно, используемый вами текстовой редактор поддерживает tail-режим. При работе с emacs , например, есть несколько способов это организовать. Не буду рассказывать о том, как это сделать. Просто порекомендую вам эту отличную статью. Я не отношу себя к экспертам в области vim , но полагаю, что если вы пользуетесь этим редактором и хотите наблюдать за файлами, вам понадобится специальный плагин.

Если вы не ищете лёгких путей, то вам, возможно, подойдёт инструмент наподобие lnav, который сделан специально для просмотра логов. Просмотрщики журналов имеются, кроме того, в KDE и Gnome.

Итоги

Как это обычно бывает в Linux и Unix, у задачи организации наблюдения за файлами есть множество решений. Какое из этих решений «лучше» других? У каждого будет собственный ответ на этот вопрос. Именно это и делает Linux системой, привлекательной для продвинутых пользователей. Каждый из них может выбрать именно то, что подходит ему лучше всего.

Те команды, о которых мы говорили, могут пригодиться и тем, кто пользуется настольным дистрибутивом Linux, и тем, кто работает с серверами или с Raspberry Pi.

How to exit file reading mode (in `less`) in Linux terminal?

I have just installed Cygwin, and I have displayed a file’s contents using the less command. Now I am unable to exit that in order to type other commands:

enter image description here

I want to exit this mode to type some other commands. How can I do that?

G-Man Says 'Reinstate Monica''s user avatar

3 Answers 3

To quit less , type q .

Also, check out man less , or type h from within less for some more, useful bits of information.

In general, assuming man has been properly installed, man xyz will tell you how to use the xyz tool. On GNU systems like Cygwin or what you call Linux at least, man will usually display through less as well, so to exit from man , again you would type q (which also works in more or most which are other pagers used by man or other commands that need paging on other systems).

Что значит Less в Linux

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

Синтаксис и опции

Запись команды less в терминале выглядит так:

команда опции файл

Наиболее популярные опции:

-a, —search-skip-screen — не осуществлять поиск в тексте, который в данный момент отображен на экране;

-bn, —buffers=n — задать размер буфера памяти;

-c, —clear-screen — листать текст, полностью стирая содержимое экрана (построчная прокрутка работать не будет);

-Dxcolor, —color=xcolor — задать цвет отображаемого текста;

-E, —QUIT-AT-EOF — выйти, когда утилита достигнет конца файла;

-e, —quit-at-eof — выйти, когда утилита второй раз достигнет конца файла;

-F, —quit-if-one-screen — выйти, если содержимое файла помещается на одном экране;

-f, —force — открыть специальный файл;

-hn, —max-back-scroll=n — задать максимальное количество строк для прокрутки назад;

-yn, —max-forw-scroll=n — задать максимальное количество строк для прокрутки вперёд;

-i, —ignore-case — игнорировать регистр;

-I, —IGNORE-CASE — игнорировать регистр, даже если паттерн для поиска содержит заглавные буквы;

-jn, —jump-target=n — указать, в какой строке должна быть выведена искомая информация;

-J, —status-column — пометить строки, соответствующие результатам поиска;

-n, —line-numbers — не выводить номера строк;

-N, —LINE-NUMBERS — вывести номера строк;

-s, —squeeze-blank-lines — заменить множество идущих подряд пустых строк одной пустой строкой;

-w, —hilite-unread — выделить первую строку нового фрагмента текста.

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

Space, Ctrl+V, f, Ctrl+F — прокрутить текст на один экран вперёд;

Enter, Return, Ctrl+N, e, Ctrl+E, j, Ctrl+J — прокрутить текст на n строк вперед, по умолчанию n=1;

y, Ctrl+Y, Ctrl+P, k, Ctrl+K — прокрутить текст на n строк назад, по умолчанию n=1;

Ctrl+→ — прокрутить текст по горизонтали в конец строки;

Ctrl+← — прокрутить текст по горизонтали в начало строки;

:d — удалить текущий файл из списка файлов;

Ctrl+G, :f — вывести основную информацию о файле;

q, Q, :q, :Q, ZZ — выход.

Перечень всех опций и внутренних команд можно просмотреть в терминале, выполнив команду

Как пользоваться LESS

Использование опций не является обязательным. Открыть файл можно, выполнив следующую команду:

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

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

Опции необходимы для отображения текста и сделать работу с утилитой более удобной. К примеру, в текстах часто встречаются множественные пустые строки. Они «съедают» место на экране, не принося никакой пользы. Поэтому к команде less стоит всегда добавлять опцию -s или —squeeze-blank-lines — она удаляет лишние пустые строки.

Сравните как выглядит один и тот же текст с использованием опции -s (слева) и без неё (справа).

Утилиту less зачастую используют не для чтения текста, а для поиска определенных участков в больших документах. Если вам нужно найти то или иное слово, напечатайте в поле с мигающим курсором /текст (для поиска вниз по тексту) или ?текст (чтобы выполнить поиск less вверх по тексту) и нажмите Enter. При необходимости используйте стандартные паттерны. Все участки текста, которые соответствуют заданным условиям поиска, будут подсвечены контрастным цветом.

Если интересует как выйти из less, то для выхода из утилиты и возвращения к командной строке терминала нажмите q, ZZ или выполните другую команду, сигнализирующую о завершении работы. Следует заметить, что утилита less предназначена только для просмотра документов.

Она не позволяет вносить в текст правки, форматировать или пересохранять его. Команда less в Linux пригодится для просмотра больших текстовых файлов, с которыми затруднительно работать в текстовых редакторах.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *