Réponses:
ctrl+ Leffacez simplement l'écran du terminal.
C'est l'équivalent de raccourci clavier de la commande clear -x
. ref
C'est la propriété de bash
, donc vous ne l'avez pas trouvé sous les raccourcis clavier dans votre gnome-terminal. De man bash
:
clear-screen (C-l)
Clear the screen leaving the current line at the top of the
screen. With an argument, refresh the current line without
clearing the screen.
Voir une liste détaillée des raccourcis clavier Bash .
clear
, car il ne supprime pas votre historique terminal, alors que la commande clear
ne, sauf si vous ajoutez l' -x
argument, comme si: clear -x
.
Si le shell que vous utilisez ne l'intercepte pas, vous tapez un caractère "Form-feed" dans votre terminal. Si l'application de terminal n'intercepte pas ou n'utilise pas la frappe d'une manière quelconque, Ctrl+ Letter est traduit en code ASCII de la lettre moins 64 (1). 65 est le code ASCII de 'A', 'L' est la 12ème lettre -> code 76. Si le shell ne sait pas quoi faire du code, il l'imprime.
L'impression d'un caractère FF a donné lieu à une nouvelle page sur une imprimante par ligne et à un écran clair sur le terminal (oui, j'avais utilisé un VT-52 à l'époque, à 300 bauds).
Donc Ctrl+ Lest 12 qui est FF. De la même façon, Ctrl+ Iest une tabulation, et Ctrl+ Gsonne la cloche --- si le terminal ou le shell ne l'intercepte pas, comme Ctrl+ Cpar exemple.
Avis de l'autre réponse: il semble que bash faire intercepter CTRL- Let faire un clear
. Belle idée que les bash
auteurs aient associé la clé à une commande qui fera plus ou moins la même chose que le code ASCII utilisé sur les anciens terminaux!
D'autre part, dans ma zsh
combinaison CTRL- Ifonctionne comme TABet CTRL- Hcomme Backspace(2).
Old nice ASCII ... (remarquez que la lettre L est à la colonne 4, ligne 12, elle a le code ASCII 4 * 16 + 12 = 76).
Image originale ici , d'un article de Wikipédia sur ASCII .
(1) Ctrlvraiment utilisé pour effacer le bit 7.
(2) c’est la source de la "blague pour ne pas enlever le mot" que vous trouvez parfois comme par exemple "c’était une mauvaise ^ H ^ H ^ Hnot une si bonne idée" ... (avec normalement un mot plus fort que mauvais!)
^H
ou des ^W
s est bien quand vous ne pouvez pas utiliser de barré. :)
Control-L
est intercepté et interprété par bash (en fait par la readline
bibliothèque , qui gère l’édition interactive sur la ligne de commande). Il est lié à la clear-screen
fonction, comme l'a écrit @souravc.
Remarque sur la signification de Control-L
: Il est défini comme Form Feed dans la table de caractères ASCII, mais cela ne signifie rien à moins qu'un programme ne l'interprète en conséquence. Le terminal n'efface pas l'écran lorsqu'il voit un formulaire, comme vous pouvez le vérifier en enregistrant un fichier ^ L dans un fichier et en imprimant le fichier avec cat
. Quand bash/readline
voit le ^L
, il exécute la clear-screen
fonction. Cela envoie une séquence de caractères qui est comprise par votre émulateur de terminal (comme décrit par termcap ou terminfo) et a pour effet d'effacer l'écran.
Dans les très anciennes imprimantes, a permet d’ ^L
avancer le début de l’impression sur la feuille suivante, d’où le nom "saut de page". Mais les terminaux modernes et les émulateurs de terminaux suivent une norme ANSI plus récente, dans laquelle les commandes de contrôle sont des "codes d'échappement" à plusieurs caractères commençant par ^[
(d'échappement). Lorsque bash voit votre message ^L
, il envoie probablement la séquence de deux commandes ESC [ H ESC [ J
, qui se déplace en haut à gauche de l'écran et efface tout ce qui se trouve en dessous (d'où la totalité de l'écran).
ESC [ ESC [ J
efface également l'historique des commandes, CTRL + L
contrairement à la séquence. La séquence envoyée au terminal est plutôt ESC [ H ESC [ 2 J
, allez - y une essayer vous - même avec cette commande: printf "\033[H\033[2J"
.
Comme tout le monde a déjà assez bien expliqué ce que Ctrl+ Lfait et fait, mais personne n'a expliqué comment "inverser" la commande, voici quelques commandes que vous pouvez taper pour vous ramener à ce que vous faisiez:
history
vous donnera les 20 dernières commandes que vous avez tapées.
tail --lines=20 /var/log/dpkg.log
vous donnera les 20 dernières lignes de sortie de toute installation de paquet que vous effectuiez