Frage Wie lösche ich das Terminal wirklich?


Ich kann das herausgeben clear befehle oder drücke Strg + L Um das aktuelle Ubuntu-Terminal zu löschen, verschiebt es nur die vorherige Ausgabe nach oben und wenn Sie die Maus benutzen, scrollen Sie oder PgUP und PgDown Es ist schwer zu unterscheiden, wo die Ausgabe des vorherigen Befehls endet und die Ausgabe des aktuellen Befehls beginnt.

Gibt es einen Weg dazu? Ja wirklich Löschen Sie das Terminal, damit ich die vorherigen Befehlsergebnisse nicht sehen kann?


321
2018-02-06 21:51


Ursprung


Drücken Sie Strg + L zweimal und du wirst leer! - Pandya


Antworten:


Ja, der Befehl, den Sie suchen, ist

reset

Im Kontrast zu clear, oder Strg+L, reset wird das System komplett neu initialisieren Terminal, anstatt nur den Bildschirm zu löschen. Die Shell wird jedoch nicht erneut instanziiert (bash). Das bedeutet, dass Bash ist Zustand ist das gleiche wie zuvor, so als ob Sie nur den Bildschirm löschen würden.

Wie @Wallacoloo in den Kommentaren erwähnt, sollte dieser Befehl das selbe schneller machen:

tput reset

Von den anderen Antworten:

  • Sie können a einstellen Tastaturkürzel zu reset das Terminal, als erklärt von Towolf.

  • Wenn du rennst Kubuntuund Ihr Terminal ist Konsole, Sie müssen zu gehen Bearbeiten → Verlauf löschen, schon seit reset funktioniert dort nicht genauso, wie OnkelZeiv feststellt.


391
2018-02-06 21:55



Wahrscheinlich ist es für die meisten Benutzer nicht wichtig, aber das Verhalten von reset ist abhängig vom Endgerät. - cthom06
Persönlich macht es mir nichts aus, dass beim Scrollen etwas am Scroller "oben" bleibt ^L. Ich sehe es nicht (das will ich!), Ich fühle es nicht, und wenn ich es plötzlich wäre brauchen um wiederherzustellen, was da war - kein Problem. reset Im Gegensatz dazu ist viel härter Werkzeug - ich werde es verwenden, wenn etwas mit dem Terminal schief gelaufen ist - wie wenn seltsame Escape-Sequenzen versehentlich das Display insgesamt ruiniert. - ulidtko
@ulidtko: Es ist wichtig, wenn Sie aufeinanderfolgende Sitzungen von Programmen mit Tonnen von Ausgaben ausführen. Wenn Sie zurückblättern, ist es leicht zu verstehen, welche Ausführung etwas gedruckt hat. Ich weiß ganz genau, dass in diesen Fällen technisch ausgereiftere Lösungen verwendet werden könnten, aber dennoch ist es ein Szenario, das häufig in schnellen und schmutzigen Debugging-Sitzungen auftritt. - UncleZeiv
@UncleZeiv farbige Schnellbefestigungen helfen mir in der Regel schnell den benötigten Platz zu finden. Obwohl das alles nur Gewohnheiten sind. - ulidtko
Es gibt auch tput reset was sichtbar dasselbe tut, aber augenblicklich vervollständigt (während reset kann bis zu 2 Sekunden dauern, bevor die Aufforderung erneut angezeigt wird). - Ponkadoodle


Ich habe eine Weile nach dem gesucht und ich habe ein Genie gefunden, das folgendes geschrieben hat:

clear && printf '\e[3J'

Löscht den gesamten Bildschirmpuffer, sehr sauber. Funktioniert auf OS X und glaubt, dass es auf den meisten * nix-Terminals funktioniert.

Für Neugierige, diesen Teil '\e[3J' ist ein Terminal-Escape-Befehl.


76
2018-05-29 05:51



Hmm, funktioniert in xterm, Konsole und Linux VT, aber nicht im gnome-terminal ... - Ruslan
Danke, das ist super nützlich! Was macht printf '\e[3J' bedeuten? Wie säubert es den Puffer? - Filip Spiridonov
Toller Fund! Und für diejenigen, die den Bash-Style auf dem Mac zurücksetzen wollen: nano ~/.bashrc und hinzufügen alias reset="clear && printf '\e[3J'" - Michael Deal
sei vorsichtig Aliasing reset - Es macht mehr als nur das Terminal zu löschen. zum Beispiel, wenn Sie versehentlich eine Binärdatei mit zufälligem Müll drucken, der das Terminal beschädigt (z. B. das Echo von getippten Zeichen deaktiviert), resetkann das normalerweise beheben. Natürlich ist Aliasing in Ordnung, solange Sie wissen, wie \override ein Alias-Shadowed-Befehl. - RubyTuesdayDONO
Dies ist die einzige Antwort, die Putty beim Zurückrufen von SSH über Winders rückgängig macht. - dhaupin


Sie können auch eine Verknüpfung in gnome-terminal zuweisen, indem Sie auf gehen Bearbeiten → Tastaturkürzel. ich benutzeVerschiebung+Strg+Alt+C.

reset and clear shortcut


37
2018-02-08 22:46



+1. Ich habe immer die Menüleiste versteckt; Selbst nach Jahren und Jahren, in denen ich Gnome benutzt habe, habe ich nie daran gedacht, danach zu suchen. Vielen Dank :-) - Stefano Palazzo♦
"Zurücksetzen" bedeutet nichts für mich, und "Zurücksetzen und Löschen" löscht alles, zeigt aber die Eingabeaufforderung nicht erneut an. Keiner dieser Menüeinträge verhält sich wie der "reset" -Befehl von einem Terminal. - Hibou57
Wie @ Hibou57 sagte, mein Tastaturkürzel für "Reset" scheint nichts zu tun. Ist diese Funktionalität in 14.04 gebrochen? - Michael Martin-Smucker
"Ist diese Funktionalität in 14.04 gebrochen?": Das ist das gleiche mit 12.04. - Hibou57
@ Hibou57 "Zurücksetzen und Löschen" wird nicht erwartet, die Eingabeaufforderung erneut anzuzeigen, aber wenn Sie anschließend die Eingabetaste drücken, sollte die Eingabeaufforderung erneut angezeigt werden. Funktioniert das für dich? - Don Hatch


Führe diesen Befehl aus:

reset

Dies hat den gleichen Effekt wie das Starten eines neuen Terminals.


15
2018-02-06 21:55



Bei Verwendung von Kitt, nach dem Laufen resetIch kann immer noch hochscrollen und vorherige Sachen sehen. Ist das ein Problem mit PuTTY und nicht? reset? - Svish
@svish - das ist nur ein Putty-Implementierungsproblem oder eine Entscheidung. - belacqua
@jgbelacqua, Deal :) - Svish


Cross posten meine Antwort von Paketüberfluss.

Verwenden Sie den folgenden Befehl, um einen leeren Bildschirm zu erstellen, anstatt nur neue Zeilen hinzuzufügen ...

printf "\033c"

Ja, das ist ein 'printf' in der Bash-Eingabeaufforderung.

Wahrscheinlich möchten Sie aber einen Alias ​​definieren ...

alias cls='printf "\033c"'

Erläuterung

\033 == \x1B == 27 == ESC

So wird das <ESC>c Dies ist der VT100-Escape-Code zum Zurücksetzen des Terminals. Hier gibt einige weitere Informationen zu Terminal-Escape-Codes.

Bearbeiten

Hier sind ein paar andere Möglichkeiten, es zu tun ...

printf "\ec" #\e is ESC in bash
echo -en "\ec" #thanks @Jonathon Reinhart.
# -e    Enable interpretation of of backslash escapes
# -n    Do not output a new line

KDE

Das obige funktioniert nicht auf der KDE-Konsole (genannt Konsole), aber es gibt Hoffnung! Verwenden Sie die folgende Befehlssequenz, um den Bildschirm und den Bildlaufpuffer zu löschen ...

clear && echo -en "\e[3J"

Oder verwende vielleicht den folgenden Alias ​​auf KDE ...

alias cls='clear && echo -en "\e[3J"'

Ich habe den Scroll-Back-Clearing-Befehl von Hier.


8
2017-10-13 08:08





Nun, es hängt wirklich davon ab, ob du es benutzt Konsole zum Beispiel sogar reset verhindert nicht, dass Sie über die erste Zeile hinaus blättern. In diesem Fall müssen Sie eine Funktion des von Ihnen verwendeten Terminals verwenden. Zum Konsole, es ist Edit > Clear History.


5
2018-02-07 16:27





Mein Liebling ist printf "\ec". Dies kann auch sein printf "\033c" oder printf "\x1bc". Das ist eine Ansi-Escape-Sequenz, die auf wundersame Weise den Bildschirm und Puffer für die Terminalausgabe löscht (für die meisten Standard-Terminals, in denen ich gearbeitet habe, scheint es - ich weiß, dass es in gnome-terminal, terminator, xterm usw. auf Ubuntu-ähnlich funktioniert) Linuxes)

Ich weiß, das funktioniert in Linux Mint und Ubuntu 14.04, also weiß ich nicht, warum Leute Dinge anhäufen und vorbereiten clear && echo -ne "\033c. printf "\ec" hat immer für mich gearbeitet.

Außerdem in meinem .bashrc Ich habe eine Bindung wie folgt:

bind -x '"\C-t": printf "\ec"';

Jetzt drücke ich Strgt die ganze Zeit.


5
2018-05-01 09:32



Wissen Sie, wie ein Mapping mit dem Windows-Schlüssel erstellt werden kann? Dieser Snippet ist wirklich großartig, funktioniert genau wie Command-K auf Mac. Vielen Dank. - Niloct
@Niloct können Sie sehen, ob das Terminal es unterstützt xev (Schreib einfach xev in einem Terminal innerhalb einer x-Sitzung). Soweit ich das beurteilen konnte, unterstützt urxvt das nicht. Während ich es nicht probiert habe, bin ich zuversichtlich, dass es nicht unterstützt wird. Ich bezweifle auch, dass Xterm oder Gnome-Terminal dies unterstützen würde. Es ist schwierig mit Ansi-Escape. Prost und Entschuldigung für die verspätete Antwort. - dylnmc
Alles klar @dylnmc, ich weiß es zu schätzen. Danke für den Kommentar. - Niloct


Mit Kubuntu habe ich Folgendes gefunden:

alias clc="echo -en '\033c\033[3J'"

Sie können verwenden cls Um die Windows-Tradition beizubehalten, verwenden Sie die Matlab-Version clcoder eines deiner eigenen. Viel Glück!


3
2018-04-29 22:26





Alternativ zu reset, du kannst tun echo -e "\033c"oder in deinem haben .bashrc, etwas wie alias cls="echo -ne '\033c'"

Der UNIX / Linux-StackExchange hat einen Thread dazu: Wie Terminal vollständig zu löschen? (unix.stackexchange.com)sowie SuperUser: Terminal mit Tastenkürzel löschen (superuser.com).


2
2017-07-09 08:55





Eine weitere Alternative zur Antwort von @ Hibou57:

# The Octal Way
alias clear="echo -e '\033c\c'"

ODER

# The Hex Way
alias clear="echo -e '\x1b\c'"

Im Grunde wird dies genau den gleichen Effekt haben, es wird das drucken ^[ Zeichen (die Ihr Terminal löschen) und gibt die nachfolgende neue Zeile nicht aus.


2
2017-10-30 21:26



Leichte Korrektur: druckt die ^[ Zeichen (ESC) gefolgt von das c Charakter, nicht nur die ^[ Charakter allein. Zusammen ergeben diese den "RIS" -Kode, der einen Reset verursacht. Mehr Info: xfree86.org/4.8.0/ctlseqs.html - jwd