J'ai utilisé la commande:
reset
effacer mon terminal. Bien que je sois certain que ce n’est pas ce que je devrais faire. Réinitialiser, comme son nom l'indique, réinitialise l'ensemble de votre terminal (change beaucoup de choses). Voici ce que je veux:
Je veux fondamentalement utiliser la commande clear
. Cependant, si vous effacez et faites défiler l'écran vers le haut, vous obtenez toujours des tonnes de choses d'avant. En général, cela ne pose pas de problème, mais je regarde les journaux bruts qui sont longs et je veux m'assurer que je ne regarde que le plus récent. Je sais que je pourrais utiliser more
ou quelque chose comme ça mais je préfère cette approche.
clear && printf '\033[3J'
. Pas de réinitialisation du terminal, il suffit d'effacer le texte à l'écran. Voir ce post: superuser.com/questions/555554/…Réponses:
Le tampon de défilement n'est pas une fonctionnalité de bash mais du programme terminal. Vous n'avez pas dit quel terminal vous utilisez.
Si vous utilisez xterm, vous pourrez peut-être effacer les lignes enregistrées en renvoyant ESC-c au terminal.
Cela peut ou non fonctionner avec le programme de terminal que vous utilisez.
Sur linux cela fonctionnera probablement:
sur FreeBSD, echo n'accepte pas -e, vous pouvez donc essayer:
la source
echo ESC-c
?ESC
. Lisez les articles "Caractère d'échappement" et "Caractère de contrôle" sur Wikipedia -ESC
est souvent utilisé pour désigner le caractère ASCII 0x1B, que vous pouvez insérer en appuyant sur^V
suivi deEsc
.\0143
au lieu dec
?Utilisez le bon outil pour chaque travail:
Utilisez
clear
pour effacer la fenêtre du terminal.Utilisez cette
reset
touche pour réinitialiser votre terminal lorsqu'il est perturbé par des séquences de contrôle.Utilisez
cat
uniquement lorsque vous voulez diffuser beaucoup de données d'un endroit à un autre sans interruption .Utilisez un programme de pagination tel que
less
oumost
pour afficher les pages de sortie.Utilisez
tail -f /var/log/foo.log /var/log/bar.log
pour regarder plusieurs fichiers de log différents.tail
, l’-F
option est préférable car elle permet de continuer à suivre le fichier même lorsqu’un nouveau fichier apparaît à sa place, comme c’est le cas pour les fichiers journaux.la source
cat
lire» n'importe quoi, mais pour les petits fichiers, cela leur semble plus sensécat
que d'utiliserless
. Une fois que le fichier a été vidé sur le terminal, vous pouvez le parcourir / revenir au fichier aussi souvent que vous le souhaitez, sans avoir à le fermerless
avant de faire autre chose.Juste pour donner une réponse technique:
reset
réinitialisez le terminal, comme s'il venait d'être rouvert.stty sane
fera beaucoup de la même fonctionnalité (sans la réinitialisation). C'est la même chose que^L
(Ctrl + L) (irrc), ettput clear
. Malgré ce que l'affiche précédente (@grawity) a dit,clear
ne génère pas beaucoup de nouvelles lignes. Il envoie leTERM
reset comme défini dansterminfo
outermcap
, pour moi, en utilisantgnome-terminal
(xterm), il est identique à la commandeperl -e'print "\33[H\33[2J"'
.Si vous souhaitez simplement effacer le tampon - par rapport à la réinitialisation de tout le terminal, essayez ceci
tput reset
. Il devrait être très rapide et faire ce que vous voulez. (Bien que vous devriez vraiment lire les fichiers avecless
)tput reset
, envoie la valeur terminfo pour reset - sur mon terminal (xterm), c’est la même chose queperl -e'print "\33c"'
la source
clear
génère beaucoup de nouvelles lignes. Je viens de fournir une commande comme une solution de rechange à elle, carclear
efface seulement l'écran , mais pas le tampon de défilement. (Pas dans PuTTY ou Konsole, au moins.)clear
au nom du signal et un autre, et celle-cireset
uniquement. résulte en un tampon de défilement effacé effacé.reset
envoie ce dernier, au-dessus de faire d'autres choses amusantes.clear
il ne réinitialise pas son défilement. (ESC c
fonctionne dansxterm
et basé sur VTE, mais pas dans PuTTY et Konsole.) Il ne veut pas utiliserreset
non plus, car cela réinitialise plus qu’il ne le souhaite. (Je ne sais pas quel terminal il utilise - mais comparezstty
avant et après la réinitialisation.)tput reset
envoyer le signal de réinitialisation au terminal - sans réinitialiser le terme. "reset - Au lieu de sortir des chaînes d’initialisation, les chaînes de réinitialisation du terminal seront sorties si elles sont présentes (rs1, rs2, rs3, rf). Si les chaînes de réinitialisation ne sont pas présentes, mais que les chaînes d’initialisation le sont, les chaînes d’initialisation seront sorties. Sinon, reset agit de manière identique à init. " Ici, nous avons réinitialisé les chaînes afin que les chaînes init ne soient pas exécutées.tput reset
est assez lent (identique àreset
).printf '\033\143'
est beaucoup plus rapide. Y a-t-il une raison pour laquelle la méthode printf est dangereuse / mauvaise?ITerm2 est un autre terminal, avec une séquence d'échappement assez étrange pour effacer le défilement. Dans un shell Bash, j'utilise quelque chose comme:
dans un script. Donc, en gros, c’est un caractère ESC suivi de "
]50;ClearScrollback
" et ensuite d’un caractère BEL.la source
clear
oureset
non. Ce n'est pas vraiment la meilleure réponse à la question, cependant. Je pense que la bonne réponse à ce problème est ce que propose l'application terminal, comme command-K dans iTerm2, control-K dans d'autres, etc.La meilleure façon de tout effacer est probablement d'utiliser la fonction du terminal:
De cette façon, les deux mémoires tampons sont nettoyées et l'état du terminal revient exactement à ce qu'il était au démarrage (ce qui peut être identique à l'utilisation
reset
).la source
gnome-terminal
je ne peux pas m'utiliser pour le moment) ... Jetez un coup d'œil à "Outils" et à d'autres menus.+F
est pour "suivre", similaire àtail -f
mais vous permet de faire défiler aussi.Tous les terminaux basés sur vte (GNOME, Xfce, Roxterm) et KDE Konsole vous permettent d’utiliser la molette de défilement pour faire défiler l’intérieur
less
. Je trouve cela assez pratique.Alternative à
clear
:la source
Sur Mac OS X Terminal.app:
Affichage -> Effacer le défilement (ou command- K)
la source
Ce n'est pas un problème "Bash". Cela dépend du terminal que vous utilisez. Par exemple, j'utilise "iterm2" avec macbook pour connecter une machine linux distante. Vous pouvez utiliser "commande + K" pour nettoyer le tampon, ou dans le menu, choisissez "Edition" -> "Effacer le tampon".
la source
Pour effacer l'écran de la console et le tampon de défilement lors de l'exécution de PuTTY, cela fonctionne pour moi:
Il s’agit en fait de 2 séquences "Esc" qui agissent indépendamment ... Elles peuvent être utilisées dans l’un ou l’autre des ordres suivants:
L'utilisation de la
echo -en "\ec"
réinitialisation du terminal peut modifier certains de vos autres paramètres de terminal. Au lieu de "Réinitialiser", vous pouvez faire ceci:Vous pouvez mettre cela dans un script shell et cela fonctionne très bien.
Au cas où il y aurait des dépendances du système:
J'utilise PuTTY Connection Manager (version 0.7.1 BETA (version 136)), avec PuTTY (version 0.60).
Dactylographie:
rapports:
la source
Pour nettoyer le tampon d’écran du matériel ATS dans FreeBSD, vous pouvez utiliser "vidcontrol - Utilitaire de contrôle et de configuration de la console système" avec le paramètre -C Effacer le tampon d’historique.
vidcontrol -C
la commande effacera tout le tampon d'écran de la console actuelle, au-dessus de ce que vous voyez actuellement. Vous voudrez peut-être «effacer» d'abord ou non - à vous de décider.
la source
Si vous voulez être sûr que vous regardez les entrées les plus récentes dans un fichier journal, il est probablement préférable d'utiliser tail au lieu de
clear
/cat
que je suppose que vous utilisez.la source
Hmmm. Je suppose que si vous utilisez la konsole, vous n’avez pas de chance. Auparavant, vous pouviez simplement "effacer le défilement". Konsole ne vous laissera plus faire ça. Vous devez également le réinitialiser pour qu'il tue tous les programmes que vous exécutiez. Je suppose que j'ai besoin d'un nouveau programme de terminal ......
la source