Réponses:
Lorsque vous démarrez comme ça ...
top && clear
... l'écran s'efface après avoir quitté le haut avec q.
Cela agit plus comme less
:
tput smcup ; top ; tput rmcup
( smcup
bascule vers un écran secondaire où la top
commande est exécutée et lorsque vous quittez top
rmcup
, revient à l'écran normal)
Vous pouvez alias la commande supérieure pour le faire ( comment créer un alias Bash permanent? )
clear
semble effacer tout sauf le dernier écran du tampon de défilement (il suffit donc de laisser le dernier écran du haut dans ce cas) - au moins dans xfce4-terminal et QTerminal. La tput
réponse fonctionne très bien, en particulier dans un alias pourtop
less
la dernière sortie avait complètement disparu du tampon.
htop
, et 2. aliasez les commandes ensemble afin de ne pas avoir à les chaîner manuellement à chaque fois.
Ironiquement 1 , ce fut brièvement le comportement de top
. Dans 3.3.8, top
n'a effacé l'écran, mais pas dans les versions passées ou depuis. Voir le bogue Red Hat # 977561 :
L'effacement de l'écran est un résultat indirect des changements dans les manipulations de terminaux qui ont été introduits par Jim Warner (auteur de l'outil `` top '') afin de supprimer l'inondation de l'outil `` top '' avec des signaux SIGWINCH générés par certaines des applications de terminal largement utilisées. C'est moi qui ai signalé le problème des inondations et il a essayé de faire de son mieux pour le résoudre et a publié un correctif pour le problème sous la forme de 8 commits distincts. Le commit introduisant l'effacement d'écran a le hachage suivant: 'dedaf6e1a81738ff08ee8e8523871e12f555ad6d'.
En raison du rapport de bogue, Jim l'a ensuite corrigé pour ne plus effacer la sortie dans 3.3.9 .
top
n'a pas d'options ou de paramètres de configuration pour contrôler cela, AFAICT, c'est un comportement entièrement codé en dur. Vous souhaiterez peut-être déposer une demande de fonctionnalité sur https://gitlab.com/procps-ng/procps/issues/ .
Jusque-là, vous pouvez clear
manuellement comme le suggère Rinzwind , ou utiliser tput
comme le suggère le conducteur d'acier.
Fait intéressant, le commit mentionné ci-dessus a également une belle explication de la commande steeldriver suggérée, car elle est en fait la même que ce qui a été initialement fait dans le code:
Un tampon de défilement utilisé dans plusieurs émulateurs de terminaux pourrait être un réel inconvénient pour un utilisateur après certaines opérations de redimensionnement. Des frappes supplémentaires seraient fréquemment nécessaires pour rendre correctement l'affichage du haut.
Après beaucoup de recherches, nous avons déniché deux chaînes terminfo qui ont pour effet de désactiver / restaurer ce tampon de défilement. Ils étaient bien cachés sous un titre de chaînes «pour démarrer / terminer des programmes en utilisant cup». À son tour, «cup» traite de la capacité d'adressage du curseur d'un tty.
Peu importe comment vous les appelez ou à quoi ils se réfèrent tant qu'ils font le travail. Et c'est vraiment le cas! Sachez toutefois qu'il existe certains effets secondaires, dont plusieurs peuvent même être considérés comme bénéfiques:
enter_ca_mode / smcup / ti désactive la mise en mémoire tampon de défilement (et c'est bien, c'est ce que nous avions toujours espéré)
exit_ca_mode / rmcup / te restaure le tampon de défilement (mais restaure également le contenu de l'écran existant avant le sommet) (ce qui est différent des anciens résultats de fin de programme) (où ce dernier écran rendu n'a pas été modifié)
... qui correspond aux commandes tput smcup
et tput rmcup
.
Le comportement que vous recherchez à partir de moins est intégré à une alternative appelée htop. Vous pouvez l'installer avec:
sudo apt-get install htop
Plus précisément, il passe au mode d'écran alternatif avant de commencer à conserver le contenu de votre écran d'origine lorsque vous fermez le htop. Il a également une variété d'autres améliorations par rapport au haut de procps. Une fois qu'il est installé, vous pouvez simplement l'exécuter en tant qu'utilisateur normal:
htop
htop
est très coloré, ajoute le support de la souris, etc.
Vous pouvez utiliser watch
:
watch top -b
Il est mis à jour par défaut toutes les deux secondes, utilisez par exemple -n1
pendant une seconde si vous souhaitez modifier ce comportement. Pour quitter watch
, appuyez sur Ctrl+ Cau lieu de l'habituel Q.
Une autre approche consiste à ouvrir une nouvelle fenêtre de terminal, par exemple avec xterm
:
xterm -e top
Cela se comporte exactement comme d' top
habitude, la fenêtre se ferme lorsque vous quittez top
avec Qet bien sûr, elle ne laisse aucune sortie dans le terminal à partir duquel vous l'avez démarré. Ajoutez &
à la fin de cette commande pour la démarrer en arrière-plan et relâchez immédiatement le terminal.
Comme le souligne la réponse de Rinzwind, la clear
commande efface la top
sortie de l'écran.
Après avoir quitté, top
vous pouvez également utiliser Ctrl+ Lpour effacer la top
sortie de l'écran. Cependant, après l'une ou l'autre des commandes, vous pouvez toujours faire défiler l'écran pour voir l'ancienne top
sortie.
Pour vraiment effacer l'écran, de sorte que la top
sortie ne puisse pas être défilée vers l'arrière, utilisez la reset
commande:
top && reset
Une autre option pour donner un "nouveau look" à une toute nouvelle session est d'exécuter un "écran de démarrage ASCII" (si vous en avez un). Dans mon cas, je courrais:
top && reset && now && screenfetch
now
script appelle la météo, le calendrier ( cal
) et l' toilet
heure.screenfetch
peint le logo Ubuntu et les statistiques de la machine..bashrc
régulièrement sans besoin car généralement il y a des lignes comme export PATH=...:$PATH
dans ce fichier et l'exécuter plusieurs fois étendra inutilement le fichier PATH
. En outre, appeler neofetch
en .bashrc
est pas un comportement standard (bien qu'il semble fantaisie). Par exemple, lorsque je relance mon .bashrc
rien d'apparent ne se produit.
clear
se comportent pas le même: essayer for i in {1..200}; do echo "line $i"; done
dans deux fenêtres, frais. Ensuite, CTRL+L
tapez dans window1 et tapez clear
window2. Faites maintenant défiler en arrière dans les deux fenêtres (molette de la souris). Dans la CTRL+L
fenêtre, vous pouvez voir toutes les lignes (en fonction de votre mémoire tampon de défilement) tandis que dans la clear
fenêtre, vous ne pouvez faire défiler qu'un écran en arrière . C'est-à-dire: clear
efface le tampon de défilement tandis que CTRL+L
est similaire à $ window_height fois en appuyant sur ENTER
(aka newline).
neofetch
est une bonne prise mais c'est un dérivé que je suppose appelé screenfetch
. Je l'utilise pour me rappeler que je suis sous Ubuntu car j'ai un double démarrage et Windows Bash a un écran de démarrage différent. Je vais retirer la .bashrc
référence. Quant à clear
et Ctrl
+ L
mon point était qu'ils sont similaires en ce qu'ils laissent tous les deux la top
sortie dans le tampon de défilement arrière.
.bashrc
. Essayez curl wttr.in/Edmonton?0
, c'est génial. Utilisez curl wttr.in/:help
pour obtenir de l'aide. J'ai un appel similaire dans un /etc/update-motd.d/
scriptlet donc je m'informe lorsque je me connecte depuis la console ou ssh (pas pour chaque fenêtre de terminal). Si vous aimez ça, ajoutez --silent --max-time 3
à l'appel curl pour que cela ne prenne pas une éternité si Internet est lent.
curl wttr.in/Edmonton?0
is AWESOME! Merci beaucoup. Je vais essayer de le faire après l' toilet
affichage de l' heure sur mon écran de démarrage :)
htop
?