Les raccourcis sur Bash
Le 19 fév 2022, par Moi
Quelques raccourcis vraiment pratique avec Bash
À défaut de nouveaux articles, je republie un article sur Bash et ses raccourcis claviers datant de 2017. J’ai plusieurs nouveaux articles presque terminés, mais je dois encore les relire et je manque de temps. En attendant, bonne lecture. 😊
Aujourd’hui, un article un peu plus court pour parler des raccourcis clavier sur Bash.
C’est très pratique et reposant de pouvoir manipuler Bash en bougeant le moins possible ses mains. Tant qu’on écrit du texte, c’est facile. Mais très souvent, on a besoin de bouger le curseur d’écriture, de supprimer un caractère, d’avoir l’auto-completion, etc. Pour cela, le réflexe est d’utiliser les touches dédiées du clavier: "TAB", "Flèche gauche", "Retour charriot", etc. Ces touches étant aux bords du clavier, cela demande quelques mouvements qui pourraient être évités.
Bash supporte une série de raccourcis combinant la touche control
plus
un caractère ou la touche alt
plus un caractère. Chaque raccourci a sa
fonction que nous verrons tout au long de l’article.
Les touches alt
et control
sont elles aussi aux bords du clavier,
mais elles sont utilisables facilement sans trop bouger ou tordre ses
mains.
Important
Pour la suite de ce tutoriel, je noterais les raccourcis A-x
pour les
raccourcis avec la touche Alt
et C-x
pour ceux avec la touche
Control
.
Manipuler le curseur
Commençons par le commencement: Comment avancer et reculer le curseur de texte?
C-f
: Avancer d’un caractèreC-b
: Reculer d’un caractère
f
fait référence au mot anglais "Forward" (vers l’avant) et b
à
"Backward" (vers l’arrière).
Il est aussi possible de déplacer le curseur d’un mot plutôt que d’un caractère:
A-f
: Avancer d’un mot, s’arrêter à la fin de celui-ciA-b
: Reculer d’un mot, s’arrêter au début de ce dernier
Pour aller en début et en fin de ligne, utiliser:
C-a
: Début de la ligneC-e
: Fin de ligne
Historique et exécution de commandes
Pour exécuter une commande que vous venez de taper ou de rapeller de l’historique, pressez:
C-m
: Exécute la commandeC-o
: Exécute également la commande et précharge dans le prompte la commande suivante dans l’historique.
puis charge dans le prompte la commande suivante dans l’historique.
Si vous voulez naviguer dans l’historique des commandes, comme avec les touches fléchées:
C-p
: Commande précédente (p
en référence à "previous")C-n
: Commande suivante (n
pour "next")
Il est aussi possible de rechercher une commande dans l’historique:
C-r
: Recherche dans l’historiqueA-r
: Si, dans l’invite de commande, vous avez modifié une ligne rappelée de l’historique, ce raccourcis la remet en l’état (tel qu’elle se trouve dans l’historique)
Lorsque vous recherchez dans l’historique avec C-r
et que plusieurs
occurrences sont trouvées, appuyez plusieurs fois sur C-r
pour passer
de l’une à l’autre. La recherche se fait de la commande la plus récente
à la plus ancienne.
Lors de l’écriture d’une commande, vous pouvez insérer le 1er mot de la précédente commande exécutée. Pour cela:
A-.
: Rappelle le 1er mot de la précédente commande
Manipuler le texte
Il est possible de supprimer un caractère avant ou après le curseur avec les raccourcis:
C-d
: Supprimer le caractère qui se trouve après le curseurC-h
: Supprimer le caractère qui se trouve avant le curseur
Ces fonctions sont également disponibles pour supprimer les mots et les lignes:
A-d
: Supprimer le mot qui se trouve après le curseurC-w
: Supprimer le mot qui se trouve avant le curseurC-k
: Supprimer du curseur jusqu’à la fin de la commandeC-u
: Supprimer du curseur jusqu’au début de la commande
À noter que les mots ou lignes supprimés avec les commandes précédentes se retrouveront dans le presse-papier de Bash. Ce presse-papier est différent de celui du bureau, avec lequel il ne communique pas. Il offre toutefois la fonction de "Kill-ring", comme Emacs: Lorsque vous remplissez le presse-papier, ce dernier n’oublie pas ce qu’il contient. Tout est gardé en mémoire et vous pouvez choisir ce que vous voulez "coller".
Les raccourcis du presse-papier de Bash sont:
C-y
: "Coller" le dernier élément présent dans le presse-papierA-y
: Après avoir utiliséC-y
, intervertit le texte collé avec ce qui se trouvait précédemment dans le presse-papier.
Bash permet également d’intervertir 2 lettres ou 2 mots:
C-t
: Intervertis la lettre sous le curseur avec celle qui la précèdeA-t
: Pareil, avec deux mots
Enfin, il est possible de transformer la casse d’un mot:
A-u
: Convertis un mot en majusculeA-l
: Convertis un mot en minusculeA-c
: Capitalise un mot
Auto-complétion
Faire appelle à l’auto-complétion de Bash peut se faire avec le raccourci:
C-i
: Équivalant à la toucheTAB
Annuler
Il existe 2 raccourcis pour annuler:
C-/
: Annule la dernière actionC-g
: Quitte une recherche dans l’historique
Commenter
A-#
commente la commande en cours d’écriture en la précédant du
caractère #
, sauve la dite commande dans l’historique et passe à la
ligne suivante avec un prompte sans commande.
Gérer les processus
Quand un processus est lancé en premier plan depuis Bash, les raccourcis suivants sont disponibles:
C-c
: Terminer le processus. Ne vous inquiétez pas, il ne souffrira pas.C-Z
: Mettre en pause le processus. Peut être relancé en premier plan ou en arrière plan avec les commandesfg
oubg
. La commandejobs
liste les processus en pause.
À noter que lors de l’écriture d’une commande, C-c
faite sauter le
curseur sur une nouvelle ligne de commande vide.
Nettoyer et gérer l’affichage
Il est possible de manipuler ce que montre Bash à l’écran avec ces trois raccourcis:
C-l
: Nettoie l’écran, pour ne montrer qu’une invite de commande. Similaire à la commandeclear
.C-s
: Stop l’affichage. Très utile quand un programme très verbeux s’exécute.C-q
Reprend l’affichage stoppé avecC-s
.
End Of File
Il existe un raccourci pour envoyer le caractère EOF (End Of File):
C-d
.
Si on envoie ce caractère sur une ligne de commande, cela équivaut à la
commande exit
.
Bonus: Termux
En bonus, j’en profite pour présenter un émulateur de terminal pour Android: Termux. Assez complet, léger, intégrant Bash. Je vous invite à aller voir leur site web.