Antworten:
Wenn du es so startest ...
top && clear
... der Bildschirm wird nach dem Verlassen von oben mit q gelöscht.
Dies wirkt eher wie less
:
tput smcup ; top ; tput rmcup
( smcup
Wechselt zu einem sekundären Bildschirm, auf dem der top
Befehl ausgeführt wird, und wenn Sie ihn beenden top
rmcup
, wird zum normalen Bildschirm zurückgeschaltet.)
Sie könnten den obersten Befehl aliasen, um dies zu tun ( Wie erstelle ich einen permanenten Bash-Alias? )
clear
scheint auch alle bis auf den letzten Bildschirm des Scrollback-Puffers zu löschen (also lasse in diesem Fall nur den letzten Bildschirm von oben) - zumindest in xfce4-terminal und QTerminal. Die tput
Antwort funktioniert hervorragend, insbesondere in einem Alias fürtop
less
die letzte Ausgabe vollständig aus dem Puffer verschwunden ist.
htop
und 2. Alias der Befehle, damit Sie sie nicht jedes Mal manuell verketten müssen.
Ironischerweise 1 war dies kurz das Verhalten von top
. In 3.3.8 wurde top
der Bildschirm gelöscht, jedoch nicht in früheren oder neueren Versionen. Siehe Red Hat-Fehler # 977561 :
Das Löschen des Bildschirms ist ein indirektes Ergebnis von Änderungen der Terminal-Manipulationen, die von Jim Warner (Autor des "Top" -Tools) eingeführt wurden, um das Überfluten des "Top" -Tools mit SIGWINCH-Signalen zu unterdrücken, die von einigen der weit verbreiteten Terminal-Anwendungen erzeugt werden. Ich habe das Überschwemmungsproblem gemeldet, und er hat versucht, sein Bestes zu geben, um es zu beheben, und eine Korrektur für das Problem in Form von 8 separaten Commits veröffentlicht. Das Commit, das das Löschen des Bildschirms einführt, hat den folgenden Hash: 'dedaf6e1a81738ff08ee8e8523871e12f555ad6d'.
Aufgrund des Fehlerberichts hat Jim es dann behoben, um die Ausgabe in 3.3.9 wieder nicht zu löschen .
top
hat keine Optionen oder Konfigurationseinstellungen, um dies zu steuern, AFAICT, dies ist ein vollständig fest codiertes Verhalten. Möglicherweise möchten Sie eine Funktionsanforderung unter https://gitlab.com/procps-ng/procps/issues/ einreichen .
Bis dahin könnten Sie Rinzwindclear
manuell vorschlagen oder wie von steeldriver vorgeschlagen verwenden tput
.
Interessanterweise enthält das oben erwähnte Commit auch eine nette Erklärung des vorgeschlagenen Befehls steeldriver, da es tatsächlich das gleiche ist, was ursprünglich im Code gemacht wurde:
Ein Scrollback-Puffer, der in mehreren Terminalemulatoren verwendet wird, kann für einen Benutzer nach einigen Größenänderungsoperationen eine echte Unannehmlichkeit sein. Zusätzliche Tastenanschläge sind häufig erforderlich, um die Anzeige des Top ordnungsgemäß wiederzugeben.
Nach langem Durchsuchen haben wir zwei Terminfo-Strings entdeckt, die den Effekt haben, dass dieser verdammte Scrollback-Puffer deaktiviert / wiederhergestellt wird. Sie waren unter dem Titel "Programme mit cup starten / beenden" gut versteckt. Im Gegenzug befasst sich 'cup' mit der Cursor-Adressierungsfähigkeit eines tty.
Es ist uns egal, wie Sie sie nennen oder worauf sie sich beziehen, solange sie die Arbeit erledigen. Und diese wirklich! Beachten Sie jedoch, dass es einige Nebenwirkungen gibt, von denen einige sogar als vorteilhaft angesehen werden können:
enter_ca_mode / smcup / ti deaktiviert die Scrollback-Pufferung (und das ist gut so, wie wir es uns immer erhofft hatten)
exit_ca_mode / rmcup / te stellt den Scrollback-Puffer wieder her (stellt jedoch auch den Bildschirminhalt wieder her, der vor dem Start vorhanden war) (der sich von früheren Ergebnissen des Programmendes unterscheidet) (wobei der zuletzt gerenderte Bildschirm unberührt blieb)
... was den Befehlen tput smcup
und entspricht tput rmcup
.
Das Verhalten, nach dem Sie aus weniger suchen, ist in eine Alternative namens htop integriert. Sie können es installieren mit:
sudo apt-get install htop
Insbesondere wird in den alternativen Bildschirmmodus gewechselt, bevor der ursprüngliche Bildschirminhalt beim Schließen von htop beibehalten wird. Es hat auch eine Vielzahl von anderen Verbesserungen über Procps Top. Sobald es installiert ist, können Sie es einfach als normaler Benutzer ausführen:
htop
htop
ist sehr bunt, fügt Mausunterstützung usw.
Sie könnten verwenden watch
:
watch top -b
Standardmäßig wird alle zwei Sekunden eine Aktualisierung durchgeführt. Verwenden Sie z. B. -n1
eine Sekunde lang, wenn Sie dieses Verhalten ändern möchten. Zum Beenden watch
drücken Sie Ctrl+ Canstelle der üblichen Q.
Ein anderer Ansatz ist das Öffnen eines neuen Terminalfensters, zB mit xterm
:
xterm -e top
Diese verhält sich genau wie top
normalerweise der Fall ist, die schließt Fenster beim Beenden top
mit Qund natürlich lässt es keine Ausgabe im Terminal Sie es aus gestartet. Fügen Sie &
diesen Befehl am Ende hinzu, um ihn im Hintergrund zu starten und das Terminal sofort wieder freizugeben.
Wie die Antwort von Rinzwind zeigt, clear
löscht der Befehl die top
Ausgabe vom Bildschirm.
Nach dem Beenden können top
Sie auch Ctrl+ verwenden L, um die top
Ausgabe vom Bildschirm zu löschen . Nach beiden Befehlen können Sie dennoch den Bildschirm nach oben scrollen, um die alte top
Ausgabe anzuzeigen .
top
Verwenden Sie den folgenden reset
Befehl , um den Bildschirm wirklich zu löschen, sodass ein Bildlauf der Ausgabe nicht möglich ist :
top && reset
Eine weitere Option, um einer brandneuen Sitzung ein "frisches Aussehen" zu verleihen, ist das Ausführen eines "ASCII-Begrüßungsbildschirms" (falls vorhanden). In meinem Fall würde ich laufen:
top && reset && now && screenfetch
now
Skript ruft Wetter, Kalender ( cal
) und toilet
mit Lust auf Zeit auf.screenfetch
Zeichnet das Ubuntu-Logo und die Maschinenstatistik..bashrc
regelmäßig ohne Notwendigkeit neu zu starten, da in der Regel Zeilen wie export PATH=...:$PATH
in dieser Datei vorhanden sind und sie mehrmals ausgeführt wird, um die Datei unnötig zu erweitern PATH
. Auch Aufruf neofetch
in .bashrc
nicht Standardverhalten (obwohl es extravagant aussieht). Zum Beispiel .bashrc
passiert nichts , wenn ich mein Programm erneut starte.
clear
verhalte dich nicht gleich: Versuche es for i in {1..200}; do echo "line $i"; done
in zwei verschiedenen, frischen Fenstern. Dann CTRL+L
drücke window1 und clear
tippe window2 ein. Blättern Sie nun in beiden Fenstern zurück (Mausrad). Im CTRL+L
-Fenster sehen Sie alle Zeilen (abhängig von Ihrem clear
Bildlaufpuffer ), während Sie im -Fenster nur einen Bildschirm zurückblättern können . Das heißt: clear
Löscht den Scrollback-Puffer, während CTRL+L
$ window_height so oft gedrückt wird ENTER
(auch Newline genannt).
neofetch
ist ein guter Fang, aber es ist ein Derivat, das ich nenne screenfetch
. Ich benutze es, um mich daran zu erinnern, dass ich in Ubuntu bin, weil ich Dual Boot habe und Windows Bash einen anderen Begrüßungsbildschirm hat. Ich nehme .bashrc
Bezug. Was clear
und Ctrl
betrifft, war L
mein Punkt, dass sie ähnlich sind, da sie beide die top
Ausgabe im Scroll-Back-Puffer belassen.
.bashrc
. Versuchen Sie es curl wttr.in/Edmonton?0
, es ist fantastisch. Verwenden Sie curl wttr.in/:help
, um Hilfe zu erhalten. Ich habe einen ähnlichen Aufruf in einem /etc/update-motd.d/
Scriptlet, sodass ich benachrichtigt werde, wenn ich mich von der Konsole oder von ssh aus anmelde (nicht für jedes Terminalfenster). Wenn Sie das mögen, fügen Sie --silent --max-time 3
es dem Curl-Aufruf hinzu, damit es nicht ewig dauert, wenn das Internet langsam ist.
curl wttr.in/Edmonton?0
ist FANTASTISCH! Ich danke dir sehr. Ich werde versuchen, das nach der toilet
Zeitanzeige auf meinem Startbildschirm
htop
?