Comment vraiment effacer le terminal?

Je peux émettre le clear commande ou appuyez sur Ctrl + L pour effacer le terminal Ubuntu actuel, mais cela déplace simplement 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ù se termine la sortie de la commande précédente et où commence la sortie de la commande actuelle.

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

Oui, la commande que vous recherchez est

reset

Contrairement à clear, ou Ctrl+L, reset va en fait complètement réinitialiser le terminal, au lieu de simplement effacer l'écran. Cependant, il ne ré-instanciera pas le shell (bash). Cela signifie que bash état est le même qu'avant, tout comme si vous effaciez simplement l'écran.

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

tput reset

Des autres réponses:

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

  • Si tu cours Kubuntu, et votre terminal est Konsole, vous devez aller à Modifier → Effacer l'historique, depuis reset ne fonctionne pas de la même manière là-bas, comme le note UncleZeiv.

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

clear && printf '\e[3J'

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

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

Vous pouvez également attribuer un raccourci dans gnome-terminal en allant dans Edition → Raccourcis clavier. J'utiliseShift+Ctrl+Alt+C.

reset and clear shortcut

Cross poster ma réponse de stackoverflow.

Utilisez la commande suivante pour effacer l'écran au lieu d'ajouter simplement de nouvelles lignes ...

printf "\033c"

oui, c'est un' printf ' sur l'invite bash.

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

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 y a-t-il plus d'informations sur les codes d'échappement des terminaux.

Modifier

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

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

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 scroll-back clearing de ici.

exécutez cette commande:

reset

Cela a le même effet que le lancement d'un nouveau terminal.

Mon préféré 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 le tampon pour la sortie du terminal (pour la plupart des terminaux standard dans lesquels j'ai travaillé, il semble - je sais que cela fonctionne dans des terminaux tels que gnome-terminal, terminator, xterm, etc. sur les Linuxes de type Ubuntu)

Je sais que cela fonctionne sous 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 j'appuie sur ctrlt tout le temps.

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

Voici toutes les façons dont vous pouvez effacer l'écran du terminal sous Unix:

clear               # only clear visible screenclear && clear      # clear buffer as welltput clear          # same as clear but by sending escape seqreset               # clear + reset internal terminal state + 1sec delaytput reset          # same as reset but without 1sec delaystty sane           # don't clear screen but reset some terminal optionsecho -e "\033c"     # same as tput reset but hardcoded escape seqprintf "\033c"      # same as tput reset but hardcoded escape seqsetterm -reset      # same as tput reset, setterm has friendlier commands

J'ai trouvé ce qui suit assez réussi avec Kubuntu:

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

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

Si vous utilisez yakuake ou Konsole, essayezCtrl+Shift+K.

Source: https://bugs.kde.org/show_bug.cgi?id=309008

Appuyez sur Ctrl + L * * deux fois** et vous obtenez vide!

Sur mac os et iTERM, cmd + k fait l’affaire pour moi.

ctrl + L fonctionne deux fois sur le terminal intégré vscode de Mac os x