web-dev-qa-db-fra.com

PuTTY: effacer le défilement depuis la ligne de commande

Lorsque je me connecte à mon serveur via PuTTY, je peux effacer l'écran visible à l'aide de la commande clear.

Cependant, je peux toujours faire défiler en arrière dans l'interface graphique de PuTTY pour voir les anciennes choses. Je connais la fonction Clear Scrollback de PuTTY, mais cela nécessite un clic de souris.

Je voudrais effectuer exactement la même opération "Clear Scrollback", mais à partir de la ligne de commande.

C'est possible?

J'ai lu ce site , qui semble l'indiquer.

Cependant, mes expériences ont échoué. Par exemple:

printf '\033[3J'

Ne fait rien pour moi.

Je ne comprends peut-être pas le sens de CSI 3 J dans ce deuxième lien, cependant ...

25
jwd

La séquence CSI 3 J pour effacer le tampon de défilement a été ajoutée à PuTTY 0.59. (Sur la page de demande de souhait pour cette fonction, voir la ligne "entrée fixe" ou aller à la page de PuTTY change et cherchez CSI 3 J.)

Comme mentionné par jwd, vous pouvez entrer printf '\033[3J' sur une ligne de commande pour envoyer cette séquence au PuTTY. Sachez que cela efface uniquement la mémoire tampon de défilement, cela n'efface pas l'écran. Si vous avez une barre de défilement que vous pouvez réellement faire défiler, puis utilisez cette séquence, vous verrez que la barre de défilement est désactivée car il n’y a plus rien de disponible à faire défiler. Mais l'écran actuellement affiché reste en place.

Comme mentionné par jwd, vous pouvez effacer l’écran et le tampon de défilement en utilisant clear && printf '\033[3J'

30
Bavi_H

Si vous êtes habitué, comme moi, à utiliser Ctrl+L pour l'option Reset terminal disponible dans le menu système de PuTTY, vous trouverez peut-être utile d'activer Configuration -> Window -> Behavior -> "System menu appears on ALT-Space".

Puis quand tu frappes Alt+Space, l'option pour "Clear scrollback" est déclenchée par L (minuscule; pas de décalage). Ainsi, reset + clear devient la combinaison charmante mnémonique de Ctrl+L et Alt+SpaceL sans la moindre souris ni encombrement dans votre histoire Shell.

11
ConfexianMJS

Créez un fichier de script et placez-le dans un dossier inclus dans le chemin:

$cat > /usr/local/bin/cls
#!/bin/bash
clear
printf '\033[3J'

Appuyez sur CTRL + d pour enregistrer et quitter.

Changer l'autorisation sur le fichier:

chmod a+x /usr/local/bin/cls

Maintenant, vous pouvez utiliser les cls cmd :-)

5
MrCalvin

Il existe une option dans PuTTY où vous pouvez décocher le comportement de défilement par défaut. Décochez simplement l'option "Pousser le texte effacé dans le défilement".

PuTTY Settings image

Après cela, lorsque vous exécuterez la commande clear, l’écran sera effacé et le contenu de l’écran précédent ne sera pas remis dans le défilement précédent.

1
user3133668

La solution pour moi était de transmettre les caractères '\ 033\143':

printf ("\ 033\143");

Ceci efface l'écran du terminal et replace le curseur dans le coin supérieur gauche.

1
eschick