Antworten:
ctrl+ LLöschen Sie einfach den Terminalbildschirm.
Dies ist die Tastenkombination, die dem Befehl entspricht clear -x
. ref
Es ist Eigentum von bash
, also haben Sie es nicht unter Tastaturkürzeln in Ihrem Gnome-Terminal gefunden. Von man bash
:
clear-screen (C-l)
Clear the screen leaving the current line at the top of the
screen. With an argument, refresh the current line without
clearing the screen.
Zeigen Sie eine detaillierte Liste der Bash-Tastaturkürzel an .
clear
, weil es nicht Ihre Terminal Geschichte nicht löscht, während der Befehl der clear
Fall ist, wenn Sie das Add - -x
Argument, etwa so: clear -x
.
Wenn die von Ihnen verwendete Shell sie nicht abfängt, geben Sie ein "Form-Feed" -Zeichen in Ihr Terminal ein. Wenn die Terminalanwendung den Tastenanschlag nicht abfängt oder auf irgendeine Weise verwendet, wird Ctrl+ Letter in den ASCII-Code des Buchstabens minus 64 (1) übersetzt. 65 ist der ASCII-Code von 'A', 'L' ist der 12. Buchstabe -> Code 76. Wenn die Shell nicht weiß, was mit dem Code zu tun ist, gibt sie ihn aus.
Das Drucken eines FF-Zeichens führte zu einer neuen Seite auf einem Zeilendrucker und einem klaren Bildschirm auf dem Terminal (ja, ich habe damals einen VT-52 mit 300 Baud verwendet).
Also ist Ctrl+ L12, was FF ist. Ebenso ist Ctrl+ Iein TAB und Ctrl+ Gklingelt ---, wenn das Terminal oder die Shell es nicht abfängt, wie zum Beispiel Ctrl+ C.
Bemerkung aus der anderen Antwort: Es scheint, dass bash do intercept CTRL- Lund do a clear
. Schön, dass die bash
Autoren die Taste mit einem Befehl assoziiert haben, der mehr oder weniger genau so funktioniert wie der ASCII-Code auf alten Terminals!
Andererseits funktioniert bei mir zsh
die Kombination CTRL- Ials TABund CTRL- Hals Backspace(2).
Altes nettes ASCII ... (Beachten Sie, dass der Buchstabe L in Spalte 4, Zeile 12 steht und den ASCII-Code 4 * 16 + 12 = 76 hat.)
Originalbild hier , aus Wikipedia-Artikel über ASCII .
(1) Ctrlwirklich verwendet, um das Bit 7 zu löschen.
(2) Dies ist die Quelle für den Witz "Wort nicht entfernen", den Sie manchmal finden, zum Beispiel "das war eine schlechte ^ H ^ H ^ Hnicht so schöne Idee" ... (mit normalerweise einem Wort, das stärker als schlecht ist!)
^H
s oder ^W
s ist hilfreich, wenn Sie keine durchgestrichenen Zeichen verwenden können. :)
Control-L
wird von bash abgefangen und interpretiert (tatsächlich von der readline
Bibliothek , die die interaktive Bearbeitung in der Befehlszeile übernimmt). Es ist an die clear-screen
Funktion gebunden , wie @souravc schrieb.
Hinweis zur Bedeutung von Control-L
: Es ist in der ASCII-Zeichentabelle als Form Feed definiert, dies bedeutet jedoch nichts, es sei denn, ein Programm interpretiert es entsprechend. Das Terminal löscht den Bildschirm nicht, wenn ein Formular-Feed angezeigt wird, da Sie dies überprüfen können, indem Sie ein ^ L in einer Datei speichern und die Datei mit drucken cat
. Wenn bash/readline
das ^L
angezeigt wird, führt es die clear-screen
Funktion aus. Dadurch wird eine Zeichenfolge gesendet, die von Ihrem Terminalemulator (wie durch termcap oder terminfo beschrieben) verstanden wird, und der Bildschirm wird gelöscht.
Bei sehr alten Druckern ^L
würde a den Druckvorgang auf dem nächsten Blatt beschleunigen, daher der Name "Seitenvorschub". Moderne Terminals und Terminalemulatoren folgen jedoch einem neueren ANSI-Standard, bei dem Steuerbefehle aus mehrstelligen "Escape-Codes" bestehen , die mit ^[
(Escape) beginnen. Wenn bash Ihre sieht ^L
, sendet es wahrscheinlich die Sequenz mit zwei Befehlen ESC [ H ESC [ J
, die sich oben links auf dem Bildschirm befindet und alles darunter löscht (daher den gesamten Bildschirm).
ESC [ ESC [ J
löscht die Sequenz auch den Befehlsverlauf, während die CTRL + L
Sequenz dies nicht tut. Die Sequenz an das Endgerät gesendet ist eher ESC [ H ESC [ 2 J
, gehen Sie voran es ein Versuch , sich mit diesem Befehl: printf "\033[H\033[2J"
.
Wie alle bereits ziemlich gut erklärt haben, was Ctrl+ List und tut, aber niemand hat erklärt, wie man den Befehl "umkehrt". Hier ein paar Befehle, die Sie eingeben können, um zu dem zurückzukehren, was Sie getan haben:
history
gibt Ihnen die letzten 20 Befehle, die Sie eingegeben haben.
tail --lines=20 /var/log/dpkg.log
gibt Ihnen die letzten 20 Zeilen der Ausgabe einer Paketinstallation, die Sie ausgeführt haben