Was ist die Interrupt-Taste für den Linux-Befehl "less"?

29

Wenn Sie Shift-F mit weniger ausführen, können Sie die Dateiaktualisierung in Echtzeit sehen und die Meldung "Warten auf Daten ... (Interrupt zum Abbrechen)" erhalten.

Die Aktualisierung funktioniert gut, aber was ist der Interrupt? Nichts scheint zu funktionieren (Strg-C, Esc, Strg-I usw.). Ich muss immer das Terminal töten, was mir weh tut.

Studiohack
quelle
2
Für mich funktioniert Interrupt (Strg-C) einwandfrei, außer dass es den gesamten Prozess bricht!
Taranaki

Antworten:

33

Strg + C funktioniert bei mir. Wenn ich den F-Befehl in weniger verwende, heißt es "(Interrupt zum Abbrechen)". Der "Interrupt", auf den es sich bezieht, ist der Schlüssel, der an den Terminal-Interrupt gebunden ist. Der Befehl stty -azeigt die relevanten Terminaleinstellungen an:

Geschwindigkeit 38400 Baud; Reihen 50; Spalten 80; line = 0; intr = ^ C ; quit = ^ \; Löschen = ^ H; kill = ^ U; eof = ^ D; eol =; eol2 =; swtch =; start = ^ Q; stop = ^ S; susp = ^ Z; rprnt = ^ R; werase = ^ W; lnext = ^ V; Flush = ^ O; min = 1; Zeit = 0; -parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnlixon -ixoff -iuclc -ixany -imaxbel -iutf8 opost -olccr -oncrncrncrncrncrncrncrn -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke

Es ist das intr = ^C, was zeigt, dass Interrupt durch Strg + C generiert wird.

Wenn du tust, stty -awas zeigt es?

Randy Orrison
quelle
1
es heißt intr = ^ C. Aha!! es ist eigentlich Ctrl-shift-c - also Großbuchstaben. Vielen Dank für die Hilfe
4
Das ist komisch - ich habe noch nie gewusst, dass sich Strg + Umschalt von Strg unterscheidet. Meins zeigt C in Großbuchstaben, aber Strg + C (ohne Shift) funktioniert einwandfrei.
Randy Orrison
4
Ich habe noch nie ein System verwendet, das Strg-C und Strg-C unterschiedlich behandelt hat. Nur ein Datenpunkt.
CarlF
1
Ich habe das gleiche Problem und weder Strg-C noch Strg-Shift-C funktionieren. Könnte dies etwas damit zu tun haben, dass ich in einer Bildschirmsitzung weniger laufe?
13.
2
Das funktioniert bei mir: 'Strg-Umschalt-C' in den normalen Modus wechseln und einfach qzum Beenden einsteigen
Mohammad Ali Akbari
2

Wie @RandyOrrison erwähnt, ist ^C( Steuerung + c ) das entsprechende Interrupt- Zeichen. Die lessReaktion auf dieses Signal hängt jedoch von den zur Ausführungszeit verfügbaren Optionen ab.

Normalerweise wird eine Interrupt Charakter Ursachen lesszu stoppen , was es tut , und Rückkehr in seine Eingabeaufforderung (dh nicht das Terminal / tty prompt).

Wenn Sie stattdessen signalisieren möchten, dass das Programm lessbeendet werden soll, und zur Eingabeaufforderung terminal / tty zurückkehren möchten , sollten Sie die Option -Koder verwenden --quit-on-intr. Dies führt lesszum sofortigen Beenden (mit Status 2), wenn (normalerweise ^C) ein Interrupt-Zeichen eingegeben wird.

weniger manpage

-K , --quit-on-intr

Bewirkt, dass weniger sofort (mit Status 2) beendet wird, wenn ein Unterbrechungszeichen (normalerweise ^ C) eingegeben wird. Normalerweise führt ein Interrupt-Zeichen dazu, dass weniger anhält und zur Eingabeaufforderung zurückkehrt. Beachten Sie, dass die Verwendung dieser Option es unmöglich macht, vom Befehl "F" zur Eingabeaufforderung zurückzukehren.

less -K [filename]...
less --quit-on-intr [filename]...
Travis Clarke
quelle
2

Ctrl + Chat bei mir nicht funktioniert. Ich konnte den Prozess jedoch mit beenden q.

Carsten
quelle
-1

Versuchen Sie Shift + Ctrl + C, ich hatte das gleiche Problem und musste tun Ctrl + Z-> fg-> Qzu beenden.

hjeannin
quelle
Es ist nicht notwendig , vor dem Beenden den lessHintergrund zu betrachten und ihn fgfortzusetzen. Du hättest qsofort drücken können .
Dirdi
-1

Ich steckte in weniger als der Datei, die ich schnell von meinem Terminal aus überprüfen wollte. Strg-C, Strg-Shift-C. Ctrl-z hat den Job gemacht :)

Pantoufle
quelle
^ Z beendet oder beendet nicht, lesssondern stoppt und stellt es in den Hintergrund, damit es später fortgesetzt werden kann. Daher ist dies keine Antwort auf die Frage.
Dirdi