it-swarm.com.de

Löschen Sie einen Terminalbildschirm für echt

Die Verwendung des Befehls clear auf dem Terminal täuscht den Benutzer nur in der Annahme, dass der Bildschirm gelöscht wurde. Wenn Sie mit der Maus scrollen, können Sie weiterhin die Ausgabe der vorherigen Befehle sehen. Dies macht das Leben schwierig, wenn Sie in einem Tsunami von Text ertrinken.

Verschiedene Lösungen (Escape-Code usw.), die im Internet zu finden sind, sind nur Variationen dessen, was der Befehl clear bereits tut.

Wie löscht man den Inhalt eines Terminals unter Linux wirklich?

351
Autodidact

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

printf "\033c"

ja, das ist ein 'printf' auf der Bash-Eingabeaufforderung.

Sie werden aber wahrscheinlich einen Alias ​​definieren wollen ...

alias cls='printf "\033c"'

Erläuterung

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

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

Bearbeiten

Hier sind ein paar andere Möglichkeiten, dies 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 verwenden Sie den folgenden Alias ​​für KDE ...

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

Ich habe den Befehl zum Zurückblättern von hier erhalten.

477
Autodidact

Versuchen Sie es mit reset. Der Bildschirm des Terminals wird gelöscht, aber auf die vorherigen Befehle kann über einen Pfeil oder eine beliebige Tastenbelegung zugegriffen werden.

198
vpit3833
tput reset

Das wird den Trick machen!

45
user1348669

Keine der von mir gelesenen Antworten hat in PuTTY funktioniert, daher habe ich einen Kommentar zu diesem Artikel gefunden :

In den Einstellungen für Ihre Verbindung finden Sie unter "Window-> Behavior" die Einstellung "System Menu Appears on ALT alone". Mit STRG + L, ALT, L (Kleinbuchstabe L) wird der Bildschirm gescrollt und der Scrollback-Puffer gelöscht.

(relevant für das OP, da ich eine Verbindung zu einem Ubuntu-Server herstelle, aber anscheinend auch relevant, egal auf welchem ​​Server.)

7
TecBrat

Der folgende Link erklärt, wie Sie diesen Alias ​​dauerhaft machen, damit Sie ihn nicht immer wieder eingeben müssen.

https://askubuntu.com/questions/17536/how-do-i-create-a-permanent-bash-alias

Dies sind die Schritte, die unter diesem Link beschrieben werden.

  1. vim ~/.bashrc oder gedit ~/.bashrc oder welcher Texteditor auch immer Ihnen gefällt
  2. setzen Sie den Alias ​​cls = 'printf "\ 033c"' am Ende der Datei
  3. speichern und schließen
  4. . ~/.bashrc (und ja, zwischen. und ~ sollte ein Leerzeichen stehen)
  5. überprüfen Sie jetzt, ob alles funktioniert hat!

Ich nehme keine Anerkennung für diese Information, die ich nur weitergebe.

6
N1mr0d

Mein liebster menschlicher Befehl dafür ist:

reset

Getestet auf xterm und VT100. Es hilft auch nach einem abnormalen Programmabbruch. Behält den Befehlspuffer bei, sodass der Aufwärtspfeil durch vorherige Befehle blättert.

prost: D

5
elbedoit

Mit KDE und Ubuntu 12.04 LTS und dem Terminal "Konsole" funktioniert keine der angegebenen Antworten. Das Drücken der Standardtastenkombination STRG + Umschalt + X funktioniert jedoch! Quelle:

https://bugs.kde.org/show_bug.cgi?id=28891

3
The111

Nur um hinzuzufügen, dass tmux Bildlaufpuffer nicht mit clear, reset oder printf gelöscht wird. Du musst :clear-history. Siehe link .

1
Dai

Ich weiß, dass die Lösung zum Drucken neuer Zeilen nicht sehr gut unterstützt wird, aber wenn alles andere fehlschlägt, warum nicht? Besonders, wenn man in einer Umgebung arbeitet, in der wahrscheinlich jemand anders den Bildschirm sehen kann, aber nicht in der Lage ist, eine Keylog-Funktion auszuführen. Eine mögliche Lösung ist der folgende Alias:

alias c="printf '\r\n%.0s' {1..50}"

Um den aktuellen Inhalt des Bildschirms zu "löschen" (oder besser auszublenden), geben Sie einfach c+Enter am Terminal.

1
nemesisfixx