8 raccourcis clavier (et même un peu plus !) pour aller plus vite dans votre terminal Bash

Introduction

Être à l’aise dans le terminal sous Linux ne se fait pas en 5 minutes et ce n’est qu’avec le temps que l’on apprend petit à petit les raccourcis claviers et les usages qui nous permettent d’être plus productifs au quotidien.

Les adeptes du terminal connaissent généralement assez bien les raccourcis Ctrl-l pour effacer l’écran, Ctrl-r pour chercher dans l’historique des commandes ou encore TAB pour compléter la ligne de commande.

Mais Bash dispose de bien d’autres raccourcis intéressants, moins connus, et c’est ce qu’on va voir aujourd’hui dans ce billet.

Copier / Coller de commande

Il arrive souvent de saisir une commande dans le terminal et de se souvenir ensuite qu’on devra la lancer non pas maintenant mais un peu plus tard.

Dans ce cas, une fois la commande saisie il nous suffit d’utiliser Ctrl-u pour que la commande soit copiée dans une zone tampon et réutilisable plus tard avec Ctrl-y.

Si au lieu de copier ce qui est situé avant le curseur, vous souhaitez copier tout ce qui se situe après il faut utiliser Ctrl-k.

Note: Chose intéressante, la zone en question est distincte des presse papier dont on a parlé dans un billet précédent.

Recherche dans l’historique

Le raccourci Ctrl-r permet de rechercher dans l’historique en partant de la fin, l’appui répété de Ctrl-r une fois le terme recherché saisi permettant de chercher toutes les occurrences de ce terme en remontant dans l’historique.

C’est ce que readline (et donc Bash) appellent le « reverse search history ».

Et pour sortir de la recherche dans l’historique, vous utiliserez Ctrl-g.

Geler la sortie standard

Vous lirez probablement ça et là que Ctrl-s permet de faire un « forward search history », ce qui n’est que partiellement vrai puisque la plupart du temps ce raccourci est configuré dans Bash pour geler la sortie standard de la commande en cours.

Par conséquent si vous appuyez sans le vouloir sur Ctrl-s, vous aurez la désagréable impression que votre terminal ne répond plus !

Pour se sortir de ce mauvais pas, il vous suffira alors d’utiliser Ctrl-z !

Editer la ligne de commande

Il vous arrive certainement de saisir des lignes de commandes un peu compliquées avec plusieurs options, arguments, et en utilisant plusieurs commandes chainées, comme:

$ find . -name « *.java » -exec grep « System.out » {} \; -print

Dans cette situation, ce qui nous serait utile serait de pouvoir éditer la commande avec un vrai éditeur et non seulement dans le terminal.

Pour cela, Bash a tout prévu et nous propose le raccourci Ctrl-x-e qui va ouvrir vi ou nano pour que nous puissions éditer plus facilement notre commande compliquée.

L’éditeur utilisé étant celui défini par la variable EDITOR que l’on aura pris soin de positionner au préalable dans notre fichier .bashrc.

Expliciter la ligne de commande

Les commandes saisies auprès de Bash sont de plusieurs natures.

On a les commandes comme cp, les builtins de Bash comme alias ou cd, et les alias que l’on définit nous même, par exemple ll.

Le raccourci clavier Ctrl-Alt-e permet d’expliciter la commande saisie en utilisant les alias définis, par exemple si on entre dans le terminal:

$ ll

et que l’on saisi le raccourci Ctrl-Alt-e:

$ ls -alF

la commande saisie est explicitée, c’est à dire que l’on voit la « vraie » commande qui sera lancée.

Complétion plus précise

On connait tous le raccourci TAB qui permet de compléter la ligne de commande qui est en train d’être saisie, en tenant compte de la commande, de ces options et paramètres.

Ainsi l’appui sur TAB après avoir saisi ls nous propose les fichiers du répertoire courant et ssh puis TAB nous propose les hostnames accessibles.

Alors que TAB propose une complétion ciblée à la commande en cours, on peut aussi utiliser des complétions spécifiques aux fichiers, hostnames, users et variables.

Pour compléter les fichiers on utilisera Alt-/, les hostnames Alt-@, les users Alt-~ et les variables Alt-$ et ce quelle que soit la commande saisie préalablement !

Commenter la ligne de commande

On a vu au début de ce billet comment copier notre ligne de commande pour l’utiliser ultérieurement.

Il est également possible de la commenter et de la placer (commentée) dans l’historique de Bash avec Alt-#.

On peut ainsi la retrouver plus tard avec Ctrl-r, il suffira alors d’enlever le # initial pour pouvoir l’exécuter.

Conclusion

Bien connaitre les raccourcis clavier les plus utiles de Bash est extrêmement bénéfique à votre aisance dans le terminal, et donc à votre rapidité.

On a vu aujourd’hui plusieurs raccourcis qui font partie de ceux que j’utilise au quotidien pour plus d’efficacité.

J’aurais pu en présenter beaucoup d’autres, et qui sont décrits dans la manpage de readline, mais il est à mon avis plus important de bien connaitre les 10 raccourcis les plus utiles de Bash que de tenter d’en mémoriser 10 autres que vous n’utilisez probablement jamais.