Question Comment vraiment effacer le terminal?


Je peux émettre le clear commande ou presse Ctrl + L pour effacer le terminal Ubuntu actuel, mais cela ne fait que déplacer la sortie précédente vers le haut et si vous utilisez le défilement de la souris ou PgUP et PgDown touches il est difficile de distinguer où la sortie de la commande précédente se termine et la sortie de la commande en cours commence.

Y a-t-il un moyen de vraiment effacez le terminal pour ne pas voir les résultats de la commande précédente?


321
2018-02-06 21:51


origine


Appuyez sur Ctrl + L deux fois et vous êtes vide! - Pandya


Réponses:


Oui, la commande que vous recherchez est

reset

Contrairement à clear, ou Ctrl+L, reset ré-initialisera complètement le Terminal, au lieu de simplement effacer l'écran. Cependant, il ne ré-instanciera pas le shell (bash). Cela signifie que bash Etat est le même que précédemment, comme si vous effaçiez simplement l'écran.

Comme @Wallacoloo le mentionne dans les commentaires, cette commande devrait faire la même chose plus rapidement:

tput reset

Parmi les autres réponses:

  • Vous pouvez définir un Raccourci clavier à reset le terminal, comme expliqué par towolf.

  • Si vous courez Kubuntu, et votre terminal est Konsole, vous devez aller à Modifier → Effacer l'historique, depuis reset ne fonctionne pas de la même façon là-bas, comme note UncleZeiv.


391
2018-02-06 21:55



Probablement pas important pour la plupart des utilisateurs, mais le comportement de reset dépend du terminal. - cthom06
Personnellement, cela ne me dérange pas que quelque chose soit laissé "en haut" le long du scroller quand je frappe ^L. Je ne le vois pas (c'est ce que je veux!), Je ne le sens pas, et si soudain je le ferais avoir besoin pour restaurer ce qui était là - pas de problème. reset en revanche, c'est un outil beaucoup plus difficile - je vais l'utiliser lorsque quelque chose ne va pas avec le terminal -, par exemple lorsque des séquences d'échappement étranges ont accidentellement détruit l'écran. - ulidtko
@ulidtko: c'est important quand vous exécutez des sessions consécutives de programmes avec des tonnes de résultats. Si vous faites défiler en arrière, il est facile de se confondre au sujet de l'exécution imprimée. Je sais parfaitement que des solutions plus sophistiquées pourraient être utilisées dans ces cas, mais néanmoins, il s’agit d’un scénario qui intervient assez souvent lors de sessions de débogage rapides et sales. - UncleZeiv
Les ancres colorées @UncleZeiv m'aident généralement à trouver rapidement le point nécessaire. Bien que ce soit juste des habitudes. - ulidtko
Il y a aussi tput reset qui fait visiblement la même chose, mais se termine instantanément (alors que reset cela peut prendre environ 2 secondes avant que l'invite ne réapparaisse). - Ponkadoodle


Je cherchais cela depuis un moment et j'ai trouvé un génie qui a posté ceci:

clear && printf '\e[3J'

Efface tout le tampon de l'écran, très propre. Fonctionne sur OS X et pense que cela fonctionne bien sur la plupart des terminaux * nix.

Pour curieux, cette partie '\e[3J' est une commande d'échappement de terminal.


76
2018-05-29 05:51



Hmm, fonctionne dans xterm, Konsole et Linux VT, mais pas dans gnome-terminal ... - Ruslan
Merci, c'est super utile! Qu'est ce que printf '\e[3J' signifier? Comment fait-il pour nettoyer le tampon? - Filip Spiridonov
Super trouvaille! Et pour ceux qui veulent la réinitialisation de Bash-style sur mac: nano ~/.bashrc et ajouter alias reset="clear && printf '\e[3J'" - Michael Deal
être prudent aliasing reset - il fait plus que simplement effacer le terminal. Par exemple, si vous imprimez accidentellement un fichier binaire avec des ordures aléatoires qui corrompt le terminal (par exemple, désactive l'écho des caractères saisis), reset peut généralement résoudre ce problème. bien sûr l'aliasing est bon tant que vous savez comment \override une commande alias-shadowed. - RubyTuesdayDONO
Ceci est la seule réponse qui fonctionne pour effacer le défilement Putty lors de l'accès à certains SSH via Winders. - dhaupin


Vous pouvez également assigner un raccourci dans gnome-terminal en allant sur Modifier → Raccourcis clavier. j'utiliseDécalage+Ctrl+Alt+C.

reset and clear shortcut


37
2018-02-08 22:46



+1. J'ai toujours la barre de menu cachée; donc même après des années d'utilisation du gnome, je n'ai jamais pensé à chercher cela. Merci :-) - Stefano Palazzo♦
“Réinitialiser” ne fait rien pour moi, et “Réinitialiser et effacer” efface tout mais ne ré-affiche pas l'invite. Aucune de ces entrées de menu ne se comporte comme la commande «reset» depuis un terminal. - Hibou57
Comme l'a dit @ Hibou57, mon raccourci clavier pour "Reset" ne semble rien faire. Cette fonctionnalité est-elle cassée en 14.04? - Michael Martin-Smucker
"Cette fonctionnalité est-elle cassée en 14.04?": C'est la même chose avec 12.04. - Hibou57
@ Hibou57 "Réinitialiser et effacer" ne devrait pas réafficher l'invite, mais si vous appuyez sur Entrée après, il devrait réafficher l'invite. Est-ce que ça marche pour toi? - Don Hatch


lancez cette commande:

reset

Cela a le même effet que de lancer un nouveau terminal.


15
2018-02-06 21:55



Lors de l'utilisation de mastic, après avoir exécuté reset, Je peux toujours faire défiler et voir les choses précédentes. Est-ce un problème avec PuTTY plutôt que reset? - Svish
@svish - c'est juste un problème ou une décision d'implémentation de mastic. - belacqua
@jgbelacqua, Deal :) - Svish


Cross poster ma réponse de stackoverflow.

Utilisez la commande suivante pour faire un écran clair au lieu de simplement ajouter de nouvelles lignes ...

printf "\033c"

oui c'est un 'printf' à l'invite bash.

Vous voudrez probablement définir un alias si ...

alias cls='printf "\033c"'

Explication

\033 == \x1B == 27 == ESC

Donc, cela devient <ESC>c qui est le code d'échappement VT100 pour réinitialiser le terminal. Ici est plus d'informations sur les codes d'échappement terminaux.

modifier

Voici quelques autres façons de le faire ...

printf "\ec" #\e is ESC in bash
echo -en "\ec" #thanks @Jonathon Reinhart.
# -e    Enable interpretation of of backslash escapes
# -n    Do not output a new line

KDE

Ce qui précède ne fonctionne pas sur la console KDE (appelée Konsole) mais il y a de l'espoir! Utilisez la séquence de commandes suivante pour effacer l'écran et le tampon de défilement arrière ...

clear && echo -en "\e[3J"

Ou peut-être utiliser l'alias suivant sur KDE ...

alias cls='clear && echo -en "\e[3J"'

J'ai reçu la commande de défilement ici.


8
2017-10-13 08:08





Eh bien ça dépend vraiment, si vous utilisez Konsole par exemple même reset ne vous empêche pas de faire défiler la première ligne. Dans ce cas, vous devez utiliser certaines fonctionnalités du terminal que vous utilisez. Pour Konsolec'est Edit > Clear History.


5
2018-02-07 16:27





Mon favori est printf "\ec". Cela peut aussi être printf "\033c" ou printf "\x1bc". C'est une séquence d'échappement ansi qui efface miraculeusement l'écran et la mémoire tampon pour la sortie du terminal (pour la plupart des terminaux standard sur lesquels j'ai travaillé, je sais que cela fonctionne comme gnome-terminal, terminator, xterm, etc.). Linuxes)

Je sais que cela fonctionne dans Linux Mint et Ubuntu 14.04, donc je ne sais pas pourquoi les gens ajoutent et préparent des choses comme clear && echo -ne "\033c. printf "\ec" a toujours travaillé pour moi

De plus, dans mon .bashrc J'ai une reliure comme celle-ci:

bind -x '"\C-t": printf "\ec"';

Maintenant je presse ctrlt tout le temps.


5
2018-05-01 09:32



Savez-vous comment un mappage peut être créé avec la clé Windows? Cet extrait est vraiment génial, fonctionne exactement comme Command-K sur mac. Je vous remercie. - Niloct
@ Niloct vous pouvez voir si le terminal le supporte avec xev (tapez juste xev dans un terminal dans une session x). De ce que j'ai pu dire, urxvt ne le supporte pas; Même si je n'ai pas essayé dans un tty, je suis convaincu que cela ne serait pas supporté. Je doute aussi que xterm ou gnome-terminal le supporte. C'est délicat avec Ansi-Escapes. Bravo et désolé pour une réponse tardive. - dylnmc
D'accord @dylnmc, je l'apprécie. Merci pour le commentaire. - Niloct


J'ai trouvé ce qui suit pour réussir avec Kubuntu:

alias clc="echo -en '\033c\033[3J'"

Vous pouvez utiliser cls pour respecter la tradition Windows, utilisez la version Matlab clcou l'un des vôtres. Bonne chance!


3
2018-04-29 22:26