Suppression de la console Shell

8

Existe-t-il un moyen de clarifier ce qui est affiché sur la console shell (sous Ubuntu Linux) en une ou deux clés? Lorsque je reçois un flot de lignes grepqui dépasse la hauteur de la fenêtre, je veux revenir rapidement à la position où j'ai tapé la commande après l'invite. Je peux le faire si j'avais ouvert un nouveau terminal avant de taper la commande et de revenir à la position initiale. Mais si je continue à utiliser la même fenêtre de terminal, je dois trouver manuellement la position. Ctrl+ ln'est pas une réponse car il fait juste défiler et le contenu du terminal reste. Je ne peux pas l'utiliser lesscar la sortie colorée de grep n'apparaît pas en couleur.

sawa
la source
Je suis légèrement confus. Recherchez-vous quelque chose de similaire à clsDOS?
Iszi
Je ne connais pas DOS, mais si cela vous permet de vider la fenêtre et d'avoir votre barre de défilement en haut, c'est ce que je veux.
sawa
1
clssous DOS efface le contenu de la console et vous renvoie à un écran vide avec une nouvelle invite de commande.
Iszi
@lszi je vois. C'est l'homologue de «réinitialisation» que Faheem a donné?
sawa
1
Non, clearest la contrepartie de cls. resetfait plus. Les deux fonctionneront probablement, mais d'après votre description, resetc'est exagéré.
Mikel

Réponses:

13

le

reset

, qui fait partie de ncurses et se trouve dans le paquet ncurses-bin sur Debian, effacera complètement la console. Est-ce que c'est ce que tu veux?

Bref résumé de resetla page de manuel:

reset définit les modes cuit et écho, désactive les modes cbreak et raw, active la traduction de nouvelle ligne et réinitialise tous les caractères spéciaux non définis à leurs valeurs par défaut avant de procéder à l'initialisation du terminal de la même manière que tset.

Comme discuté dans /superuser/122911/bash-reset-and-clear-commands , et comme souligné par Erik dans la compensation de console Shell , effacera clearsimplement l'écran, resetsera (comme le dit Bignose), msgstr "réinitialiser votre terminal lorsqu'il est gâché par des séquences de contrôle". Personnellement, je suis bon pour gâcher mon terminal, et quand je le nettoie, je ne cherche pas à récupérer quoi que ce soit qui était là auparavant, donc je l'utilise simplement reset. Mais ymmv.

Faheem Mitha
la source
En quoi est-ce différent aux Ctrl+Lfins de cette question? L'utilisateur n'a pas mentionné de corruption de terminal, et sinon c'est équivalent pour autant que je puisse voir.
Mikel
@Mikel J'ai essayé Ctrl+Lmais cela n'a pas effacé le terminal.
sawa
8

J'utilise habituellement juste:

clear

Depuis la clearpage de manuel:

clear clears your screen if this is possible.  It looks in the environ-
ment for the terminal type and then in the terminfo database to  figure
out how to clear the screen.

clear ignores any command-line parameters that may be present.
Erik
la source
1
Je l'ai essayé, mais il n'efface pas le terminal.
sawa
@sawa: Pouvez-vous fournir une capture d'écran? Je ne comprends toujours pas à partir de votre question pourquoi clearou Ctrl+Lne fonctionne pas.
Mikel
3
@Mikel Cela ne fonctionne tout simplement pas. La ligne défile vers le haut et le curseur se trouve sur la première ligne visible, mais la barre de défilement est positionnée en bas.
sawa
1
@sawa: Ah, je vois ce que tu veux dire! J'utilisais PuTTY, et c'était la même chose, mais dans Gnome Terminal, il y a une différence. Merci d'avoir expliqué.
Mikel
3

Vous pouvez essayer cette commande:

tput reset
Eugen Konkov
la source