Es scheint, dass clear
und Bash Ctrl- Lziemlich unterschiedlich sind; clear
entfernt alle vorherigen Terminalinformationen vollständig (Sie können also nicht nach oben scrollen), während Ctrl- Lnur den Bildschirm scrollt, sodass der Cursor oben auf der Seite ist, sodass Sie immer noch nach oben scrollen und vorherige Informationen sehen können. Ich bevorzuge das Ctrl- LSystem bei weitem. Gibt es eine Möglichkeit, dies zu überschreiben, clear
sodass es ein Ctrl- ausführt L, anstatt alle vorherigen Terminalinformationen zu löschen? Das ist kein großes Problem, aber ich frage mich nur aus Neugier, ob es eine Möglichkeit gibt, einen Alias zu verwenden, clear
um auf meine bevorzugte Ctrl- LFunktionalität zu verweisen.
Als Randbemerkung ist mir gerade aufgefallen, dass PowerShell auch eine Bindung für Bash hat Ctrl– Lund diese funktioniert genauso wie diese Ctrl. LEs scheint, dass die PowerShell-Entwickler viel von Bash übernommen haben, während cmd.exe
Konsolen diese Funktionalität nicht haben.
Antwort1
Gibt es eine Möglichkeit, das Löschen außer Kraft zu setzen, sodass es Strg-L ausführt, anstatt alle vorherigen Terminalinformationen zu löschen?
alias clear='tput -x clear'
Ja, Ctrl-L
in Bash (im set -o emacs
Modus) passiert genau dasselbe.
Oder Sie können die Escape-Taste einfach fest verdrahten. alias clear='printf "\033[H\033[2J"'
Das sollte bei den meisten Terminalemulatoren funktionieren und setzt nicht voraus, dass Sie sie installiert haben ncurses
oder haben bash
.
NB: dieclear
Das Applet von Busybox löscht den Scrollback-Puffer NICHT, Sie müssen also nichts Besonderes tun, wenn Sie ein Busybox-basiertes System verwenden, wie es bei den meisten eingebetteten Linux-Systemen der Fall ist.
Antwort2
clear
ist ein Terminalbefehl, Auszug aus man clear
:
BESCHREIBUNG
clear
löscht Ihren Bildschirm, wenn dies möglich ist, einschließlich des Scrollback-Puffers (wenn die erweiterte „E3“-Funktion definiert ist).clear
sucht in der Umgebung nach dem Terminaltyp, der durch die Umgebungsvariable TERM angegeben wird, und dann in der Terminfo-Datenbank, um zu ermitteln, wie der Bildschirm gelöscht werden soll.clear
schreibt in die Standardausgabe. Sie können die Standardausgabe in eine Datei umleiten (was verhindert, dass „clear“ den Bildschirm tatsächlich löscht) und spätercat
die Datei auf den Bildschirm umleiten und ihn an dieser Stelle löschen.
Ctrl+ list eine Tastenkombination fürreadline
's clear-screen
Befehl ( man 3 readline
).
Löscht den Bildschirm und zeichnet dann die aktuelle Zeile neu, wobei die aktuelle Zeile oben auf dem Bildschirm bleibt. Mit einem Argument aktualisiert man die aktuelle Zeile, ohne den Bildschirm zu löschen.
Ich kann keine Möglichkeit finden, einen Alias clear
für den Readline clear-screen
-Befehl zu erstellen, und möglicherweise ist es überhaupt nicht möglich.