452 Stimmen

Einen Terminalbildschirm für real löschen

Die Verwendung des clear auf dem Terminal gaukelt dem Benutzer nur vor, dass der Bildschirm geleert wurde... Sie können immer noch die Ausgabe der vorherigen Befehle sehen, wenn Sie mit der Maus scrollen. Das macht das Leben schwer, wenn man in einem Tsunami von Text ertrinkt.

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

Wie kann man also den Inhalt eines Terminals unter Linux wirklich löschen?

46 Stimmen

Ich würde dies als "Softwaretools, die von Programmierern üblicherweise verwendet werden" einstufen (in den FAQ als gültig erwähnt).

5 Stimmen

Was Sie wirklich fragen, ist: "Wie kann ich den Rücklaufpuffer des Terminals löschen?", und das ist unabhängig von der Shell (Bash) oder Ubuntu.

0 Stimmen

@spiderplant0 wahrscheinlich, weil AskUbuntu der richtige Ort dafür ist - zu diesem Zeitpunkt. Gab es noch nicht, als diese Frage gestellt wurde, also wurde sie als "off topic" geschlossen, obwohl das nicht der Fall ist.

7voto

elbedoit Punkte 105

Mein bevorzugter menschenfreundlicher Befehl dafür ist:

reset

Getestet mit xterm und VT100. Es hilft auch nach einem abnormalen Programmabbruch. Behält den Befehlspuffer bei, so dass Pfeil-nach-oben die vorherigen Befehle durchläuft.

6voto

N1mr0d Punkte 453

Der folgende Link erklärt, wie Sie den Alias dauerhaft machen können, damit Sie ihn nicht ständig neu 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 o gedit ~/.bashrc oder einen anderen Texteditor Ihrer Wahl
  2. setzen. alias cls='printf "\033c"' am Ende der Datei
  3. speichern und beenden
  4. . ~/.bashrc (und ja, es sollte ein Leerzeichen zwischen . y ~ )
  5. Prüfen Sie jetzt, ob alles funktioniert hat!

Ich übernehme keine Verantwortung für diese Informationen, ich gebe sie nur weiter.

0 Stimmen

\033c ist das Gleiche wie \x1bc und \x1bc ist das Gleiche wie \u001bc . Alle drei funktionieren!

5voto

JWL Punkte 12479

Ich weiß, dass die Lösung, bei der neue Zeilen gedruckt werden, nicht sehr unterstützt wird, aber wenn alles andere versagt, warum nicht? Vor allem, wenn man in einer Umgebung arbeitet, in der jemand anderes den Bildschirm sehen kann, aber nicht in der Lage ist, Keylogging durchzuführen. Eine mögliche Lösung ist dann der folgende Alias:

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

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

1 Stimmen

Mein Terminal ist aus irgendeinem Grund nicht in der Lage, den Verlauf des Zurückblätterns zu löschen. Keine dieser Lösungen funktioniert, außer dass ich einfach einen Haufen Zeilenumbrüche ausdrucke, ich würde einfach ein Löschen am Ende vorschlagen, um den Cursor wieder an den Anfang zurückzusetzen.

0 Stimmen

@MaximilianBallard welches TTY ist das?

0 Stimmen

st Terminal, aber ich weiß nicht, ob es am Terminal selbst liegt, da dieses Problem auf meinem anderen Computer nicht auftritt und ich denselben benutze.

5voto

dz902 Punkte 3201

Nur um das hinzuzufügen tmux Scroll-Puffer wird nicht gelöscht mit clear , reset o printf . Sie müssen :clear-history . Siehe Link .

3voto

The111 Punkte 5617

Mit KDE und Ubuntu 12.04 LTS und dem Terminal "Konsole" funktioniert keine der angegebenen Antworten. Das Standard-Tastaturkürzel STRG+Umschalt+X funktioniert jedoch! Quelle:

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

3 Stimmen

In späteren KDE-Versionen wurde dies in CTRL+Shift+K geändert: bugs.kde.org/show_bug.cgi?id=282593

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X