Risposte:
Quando lo avvii in questo modo ...
top && clear
... lo schermo si cancella dopo essere uscito dall'alto con q.
Questo si comporta più come less
:
tput smcup ; top ; tput rmcup
( smcup
passa a una schermata secondaria in cui top
viene eseguito il comando e quando si esce top
rmcup
torna alla schermata normale)
Potresti alias il comando principale per farlo ( Come faccio a creare un alias Bash permanente? )
clear
sembra cancellare tutto tranne l'ultimo schermo anche del buffer di scrollback (quindi in questo caso lasciando solo l'ultimo schermo in alto) - almeno in xfce4-terminal e QTerminal. La tput
risposta funziona benissimo, soprattutto in un alias pertop
less
l'ultimo output fosse completamente scomparso dal buffer.
htop
comando di gran lunga superiore ma non incorporato e 2. alias i comandi insieme in modo da non doverli incatenare manualmente ogni volta.
Ironia della sorte 1 , questo è stato brevemente il comportamento di top
. In 3.3.8, top
ha cancellato lo schermo, ma non nelle versioni precedenti o successive. Vedi bug Red Hat # 977561 :
La cancellazione dello schermo è il risultato indiretto dei cambiamenti nelle manipolazioni dei terminali introdotti da Jim Warner (autore dello strumento "top") al fine di sopprimere l'inondazione dello strumento "top" con segnali SIGWINCH generati da alcune delle applicazioni terminali più utilizzate. Sono stato io a segnalare il problema delle inondazioni e ha cercato di fare del suo meglio per risolverlo e ha rilasciato una correzione per il problema sotto forma di 8 commit separati. Il commit che introduce la cancellazione dello schermo ha il seguente hash: 'dedaf6e1a81738ff08ee8e8523871e12f555ad6d'.
A causa del bug report, Jim lo ha quindi corretto per non cancellare nuovamente l'output in 3.3.9 .
top
non ha opzioni o impostazioni di configurazione per controllare questo, AFAICT, questo è un comportamento interamente codificato. È possibile che si desideri presentare una richiesta di funzione su https://gitlab.com/procps-ng/procps/issues/ .
Fino ad allora, potresti suggerireclear
manualmente Rinzwind o utilizzare tput
come suggerisce Steeldriver.
È interessante notare che il commit di cui sopra ha anche una bella spiegazione del comando suggerito da Steeldriver, perché in realtà è lo stesso di quello che è stato originariamente fatto nel codice:
Un buffer di scrollback utilizzato in diversi emulatori di terminale potrebbe essere un vero inconveniente per un utente dopo alcune operazioni di ridimensionamento. Una o più battute di tasto sarebbero spesso necessarie per rendere correttamente il display di top.
Dopo un sacco di investigazioni abbiamo scoperto due stringhe di terminfo che hanno l'effetto di disabilitare / ripristinare quel dannato buffer di scrollback. Erano ben nascosti sotto il titolo di stringhe "per avviare / terminare i programmi usando cup". A sua volta, 'cup' si occupa della capacità di indirizzamento del cursore di un tty.
Non ci interessa come li chiami o a cosa si riferiscono fino a quando svolgono il lavoro. E questi lo fanno davvero! Tieni presente, tuttavia, che ci sono alcuni effetti collaterali, molti dei quali possono anche essere considerati benefici:
enter_ca_mode / smcup / ti disabilita il buffering di scrollback (e va bene, è quello che avevamo sempre sperato)
exit_ca_mode / rmcup / te ripristina il buffer di scorrimento (ma ripristina anche il contenuto dello schermo pre-top esistente) (che è diverso dai risultati di fine programma precedenti) (dove l'ultima schermata renderizzata non è stata toccata)
... che corrisponde ai comandi tput smcup
e tput rmcup
.
Il comportamento che stai cercando da meno è integrato in un'alternativa chiamata htop. Puoi installarlo con:
sudo apt-get install htop
In particolare, passa alla modalità schermo alternativo prima di iniziare a preservare il contenuto dello schermo originale quando si chiude htop. Ha anche una varietà di altri miglioramenti rispetto al top di Procps. Una volta installato, puoi semplicemente eseguirlo come utente normale:
htop
htop
è molto colorato, aggiunge il supporto del mouse, ecc.
Puoi usare watch
:
watch top -b
L'impostazione predefinita si aggiorna ogni due secondi, utilizzare ad es. -n1
Per un secondo se si desidera modificare questo comportamento. Per uscire watch
, premi Ctrl+ Cinvece del solito Q.
Un altro approccio è l'apertura di una nuova finestra del terminale, ad esempio con xterm
:
xterm -e top
Questo comporta esattamente come top
normalmente fa, si chiude la finestra quando si chiude top
con la Qe, naturalmente, non lascia alcuna uscita nel terminale è stato avviato da. Aggiungi &
alla fine di questo comando per avviarlo in background e rilasciare di nuovo immediatamente il terminale.
Come sottolinea la risposta di Rinzwind, il clear
comando cancella l' top
output dallo schermo.
Dopo essere uscito top
puoi anche usare Ctrl+ Lper cancellare l' top
output dallo schermo. Dopo entrambi i comandi, è comunque possibile scorrere verso l'alto lo schermo per vedere il vecchio top
output.
Per cancellare davvero lo schermo, in modo che l' top
output non possa essere riportato indietro, usare il reset
comando:
top && reset
Un'altra opzione per dare quel "nuovo look" di una nuova sessione è eseguendo una "schermata di avvio ASCII" (se ne hai una). Nel mio caso avrei eseguito:
top && reset && now && screenfetch
now
sceneggiatura chiama weather, calendar ( cal
) e toilet
con tempo di fantasia.screenfetch
dipinge il logo Ubuntu e le statistiche della macchina..bashrc
regolarmente senza necessità perché di solito ci sono linee come export PATH=...:$PATH
in quel file e eseguirlo più volte prolungherà inutilmente il file PATH
. Inoltre, chiamando neofetch
in .bashrc
non è un comportamento standard (anche se sembra di fantasia). Ad esempio, quando riesco a ripetere il mio funzionamento, .bashrc
non accade nulla di evidente.
clear
comportano allo stesso modo: prova in due finestre diverse e fresche. Quindi premi in window1 e digita window2. Ora scorrere indietro in entrambe le finestre (rotellina del mouse). Nella finestra è possibile visualizzare tutte le righe (a seconda del buffer di scorrimento), mentre nella finestra è possibile scorrere indietro di una schermata. Cioè: cancella il buffer di scrollback mentre è simile a $ window_height volte premendo (aka newline). for i in {1..200}; do echo "line $i"; done
CTRL+L
clear
CTRL+L
clear
clear
CTRL+L
ENTER
neofetch
è una buona cattura, ma credo sia un derivato screenfetch
. Lo uso per ricordare a me stesso che sono su Ubuntu perché ho il dual boot e Windows Bash ha una schermata di avvio diversa. Prenderò il .bashrc
riferimento. Per quanto riguarda clear
e Ctrl
+ il L
mio punto era che sono simili in quanto entrambi lasciano l' top
output nel buffer di scorrimento indietro.
.bashrc
. Prova curl wttr.in/Edmonton?0
, è fantastico. Utilizzare curl wttr.in/:help
per ottenere aiuto. Ho una chiamata simile in uno /etc/update-motd.d/
scriptlet, quindi mi informo quando accedo dalla console o da ssh (non per ogni finestra del terminale). Se ti piace, aggiungi --silent --max-time 3
alla chiamata curl in modo che non ci vorrà per sempre se internet è lento.
curl wttr.in/Edmonton?0
è FANTASTICO! Grazie mille. Proverò a comprimerlo dopo la toilet
visualizzazione dell'ora sulla mia schermata iniziale :)
htop
?