Co to jest klawisz przerwania dla polecenia Linux „mniej”

29

Gdy wykonasz shift-f z mniejszą liczbą, możesz zobaczyć aktualizację pliku w czasie rzeczywistym i pojawi się komunikat „Oczekiwanie na dane ... (przerwij, aby przerwać)”.

Aktualizacja działa dobrze, ale jakie jest przerwanie? wydaje się, że nic nie działa (Ctrl-C, Esc, Ctrl-I itp.). Zawsze muszę zabić terminal, co jest uciążliwe.

studiohack
źródło
2
Dla mnie interrupt (ctrl-c) działa dobrze, tyle że zabija cały proces!
taranaki

Odpowiedzi:

33

Ctrl + C działa dla mnie. Kiedy używam polecenia F w mniejszym stopniu, pojawia się komunikat „(przerwij, aby przerwać)”. „Przerwanie”, do którego się odnosi, to dowolny klucz związany z przerwaniem terminala. Polecenie stty -apokazuje odpowiednie ustawienia terminala:

prędkość 38400 bodów; rzędy 50; kolumny 80; linia = 0; intr = ^ C ; quit = ^ \; skasować = ^ H; kill = ^ U; eof = ^ D; eol =; eol2 =; swtch =; start = ^ Q; stop = ^ S; susp = ^ Z; rprnt = ^ R; werase = ^ W; lnext = ^ V; kolor = ^ O; min = 1; czas = 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 onlcron -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke

To właśnie intr = ^Cpokazuje, że przerwanie jest generowane przez Ctrl + C.

Jeśli zrobisz stty -aco to pokazuje?

Randy Orrison
źródło
1
mówi intr = ^ C. Aha!! to właściwie Ctrl-shift-c - tzn. wielkie litery. Dzięki za pomoc
4
To dziwne - nigdy nie wiedziałem, że Ctrl + Shift różni się od zwykłego Ctrl. Mój pokazuje wielkie litery C, ale Ctrl + c (bez shift) działa dobrze.
Randy Orrison
4
Nigdy też nie korzystałem z systemu, który różnie traktowałby ctrl-c i ctrl-C. Tylko punkt danych.
CarlF
1
Mam ten sam problem i ani ctrl-c, ani ctrl-shift-c nie działa. Czy to może mieć coś wspólnego z faktem, że w sesji ekranowej mniej pracuję?
Jenn
2
To działa dla mnie: „ctrl-shift-c” przełącz do trybu normalnego i po prostu wejdź, qaby wyjść
Mohammad Ali Akbari
2

Jak wspomniano @RandyOrrison, ^C( control + c ) jest odpowiednim znakiem przerwania . Jednak sposób, w jaki lessreaguje na ten sygnał, będzie się różnić w zależności od opcji podanych w czasie wykonywania.

Zwykle postać przerywająca powoduje lesszatrzymanie tego, co robi, i powrót do niej jego wiersza polecenia (czyli nie terminal / tty szybka).

Jeśli zamiast tego chcesz zasygnalizować, że chcesz lesswyjść i powrócić do monitu terminal / tty , powinieneś użyć opcji -Klub --quit-on-intr. To spowodujeless natychmiastowe wyjście (ze statusem 2) po ^Cwpisaniu znaku przerwania (zwykle ).

mniej strony

-K , --quit-on-intr

Powoduje, że less natychmiast kończy działanie (ze statusem 2) po wpisaniu znaku przerwania (zwykle ^ C). Zwykle znak przerwania powoduje, że less przerywa to, co robi, i wraca do wiersza poleceń. Zauważ, że użycie tej opcji uniemożliwia powrót do wiersza poleceń z polecenia „F”.

less -K [filename]...
less --quit-on-intr [filename]...
Travis Clarke
źródło
2

Ctrl + Cnie działało dla mnie. Udało mi się jednak zatrzymać proces q.

Carsten
źródło
-1

Spróbuj Shift + Ctrl + C, miałem ten sam problem i musiałem zrobić Ctrl + Z-> fg->, Qaby wyjść.

hjeannin
źródło
Nie ma potrzeby lessprzechodzenia w tło i wznawiania go fgprzed zamknięciem. Mogłeś od qrazu naciskać .
dirdi
-1

Utknąłem w mniej bez żadnych argumentów niż plik, który chciałem szybko sprawdzić z mojego terminala, Ctrl-c, Ctrl shift-c nic nie działało. Ctrl-z wykonał robotę :)

Pantoufle
źródło
^ Z nie zabija ani nie kończy, lessale zatrzymuje się i umieszcza w tle, aby wznowić później. Dlatego nie jest to odpowiedź na pytanie.
dirdi