Linux выйти из less

What is the interrupt key for Linux command «less»

When you do shift-f with less, you can see the file update in real time, and you get the «Waiting for data. (interrupt to abort)» message. The updating works fine, but what is the interrupt? nothing seems to work (Ctrl-C, Esc, Ctrl-I etc). I always have to kill the terminal which is a pain.

6 Answers 6

Ctrl + C works for me. When I use the F command in less, it says «(interrupt to abort)». The «interrupt» that it’s referring to is whatever key is bound to the terminal interrupt. The command stty -a shows the relevant terminal settings:

speed 38400 baud; rows 50; columns 80; line = 0; intr = ^C; quit = ^; erase = ^H; kill = ^U; eof = ^D; eol = ; eol2 = ; swtch = ; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0; -parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8 opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke

It’s the intr = ^C that shows that interrupt is generated by Ctrl + C .

If you do stty -a what does it show?

That’s weird — I’ve never known Ctrl+Shift to be different from just Ctrl. Mine shows upper case C, but Ctrl+c (without shift) works fine.

I’m having the same issue, and neither ctrl-c nor ctrl-shift-c works. Could this have something to do with the fact that i’m running less inside a screen session?

Ctrl + C did not work for me. However, I was able to stop the process with q .

As @RandyOrrison mentioned, ^C (control + c) is the appropriate interrupt character. Although, how less responds to this signal will vary based on the options provided at execution time.

Normally, an interrupt character causes less to stop whatever it is doing and return to its command prompt (i.e. not the terminal/tty prompt).

If instead, you want to signal less to quit and return to the terminal/tty prompt, you should use the -K or —quit-on-intr option. This will cause less to exit immediately (with status 2) when an interrupt character (usually ^C ) is typed.

less manpage

-K , —quit-on-intr

Causes less to exit immediately (with status 2) when an interrupt character (usually ^C) is typed. Normally, an interrupt character causes less to stop whatever it is doing and return to its command prompt. Note that use of this option makes it impossible to return to the command prompt from the «F» command.

less -K [filename]. less --quit-on-intr [filename]. 

Источник

Читайте также:  Linux open source development

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

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

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

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

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

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

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

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 . Одно и то же действие можно выполнить с помощью разных клавиш.

Читайте также:  Оформление терминала kali linux

Ниже приведены некоторые из наиболее часто используемых команд для навигации по содержимому файла при просмотре 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 .

Источник

Is there any way to exit «less» without clearing the screen?

Relatively often, I find myself wanting to quit less but leave what I was viewing on the screen, to refer back to. Is there any way to do this? Workarounds? (My current workaround is to quit, then use more . So any workaround that’s better than that is welcomed. The ideal would be something I can use once I’m already inside less , perhaps with a shell setting or some scripting.) My desktop is OSX, but I use RHEL and Ubuntu servers.

Reading a long output (as in git diff or git log ) in less -X will take up the scroll buffer in my terminal and evict much of the previous output. I’d love it if less could just exit with the last screenful of output at the time of the exit; i.e. no more than one page of the scroll buffer would be taken after quitting less . Any ideas?

Thanks. For those wondering: -R is «Like -r, but only ANSI «color» escape sequences are output in «raw» form. Unlike -r, the screen appearance is maintained correctly in most cases.»

4 Answers 4

This is actually a function of the terminal emulator you are using (xterm, gnome-terminal, konsole, screen). An alternate screen, or altscreen, gets launched when programs such as less or vim are invoked. This altscreen has no history buffer and exits immediately when you quit the program, switching back to the original screen which restores the previous window content history and placement.

You can prevent less from launch in an altscreen by passing the argument «-X».

You can also pass «-X» as an environment variable. So if you are using bash , place this in ~/.bashrc :

However, this disbles the termcap (terminal capability) initialization and deinitialization, so other views when you use less may appear off.

Читайте также:  Find words in file linux

Another option would be to use screen and set the option altscreen off in your ~/.screenrc . less will not clear the screen and should preserve color formatting. Presumably tmux will have the same option.

This blog entry describes the problem and offers some different solutions specific to gnome-terminal with varying success.

Источник

Exit from less by pressing ESC key

To bind Esc + Esc to quit with lesskey , do the following:

  1. Run lesskey . This will create a binary ~/.less file used by less .
  2. Use less as usual. Esc + Esc will do a quit .

If you no longer want your bindings, you can remove the ~/.less file.

For more details, see man lesskey or lesskey.nro in the less package source.
Debian — Details of source package less in wheezy

SYNOPSIS lesskey [-o output] [--] [input] The input file is a text file which describes the key bindings. If the input file is "-", standard input is read. If no input file is specified, a standard filename is used as the name of the input file, which depends on the system being used: On Unix systems, $HOME/.lesskey is used; on MS-DOS systems, $HOME/_lesskey is used; and on OS/2 systems $HOME/lesskey.ini is used, or $INIT/lesskey.ini if $HOME is undefined. 

I had just found this while poking around in the source only to realize this answer was here already. I really appreciate that the consideration the developers have shown for the user by including lesskey .

less has many functions bound to ESC + something else. See the manpage: ESC v , ESC n , ESC F , many others. You wouldn’t be able to type any of those is less exited upon receiving just ESC .

Concievably, you could rebind all those functions to other keystrokes or live with being unable to type them, and rebind ESC to quitting, but it still wouldn’t be a good idea.

It’s not a good choice of key to use. In VT100 (the terminal emulation used basically everywhere these days) all terminal control sequences begin with the ASCII ESC character. This means that every time you press something like an arrow key, your terminal sends ESC followed by other stuff. When you press the ESC key, your terminal also sends ESC , but it’s not followed by anything. How can software tell the difference after having received an ASCII ESC character? It is forced to wait a some time to see if anything follows the ESC . So things bound to ESC alone always incur a delay, a time lag before the software can respond.

Источник

Оцените статью
Adblock
detector