Contactez-nous

Le terminal (Bash) : récapitulatif, historique des commandes, auto-complétion (Tab)

Optimisez votre usage du terminal Bash sous Linux grâce à l'historique des commandes, l'auto-complétion (touche Tab) et d'autres astuces productives. Un guide essentiel pour la ligne de commande.

Le terminal Bash : votre interface privilégiée avec Linux

Le terminal, et plus spécifiquement le shell Bash (Bourne Again SHell) qui est le shell par défaut sur la majorité des distributions Linux, est bien plus qu'une simple fenêtre noire où l'on tape des commandes. C'est une interface puissante et flexible qui, une fois maîtrisée, offre un contrôle fin et une efficacité redoutable pour interagir avec votre système. Ce sous-chapitre vise à consolider vos acquis sur le terminal et à vous présenter des fonctionnalités clés qui transformeront votre expérience en ligne de commande : l'historique des commandes et l'auto-complétion.

Se familiariser avec ces mécanismes ne vous fera pas seulement gagner du temps en évitant de retaper de longues commandes, mais réduira également les erreurs de frappe et vous aidera à découvrir des options de commandes ou des noms de fichiers que vous auriez pu oublier. Ce sont des outils du quotidien qui, une fois adoptés, deviennent indispensables.

Récapitulatif rapide de l'interaction avec Bash

Pour rappel, lorsque vous ouvrez un terminal, vous êtes accueilli par une invite de commande (prompt). Celle-ci vous indique généralement votre nom d'utilisateur, le nom de la machine et le répertoire courant (par exemple, `utilisateur@machine:~$`). Le `$` (ou `#` si vous êtes `root`) signifie que le shell est prêt à recevoir une commande.

Vous tapez une commande, suivie d'éventuelles options (souvent précédées d'un ou deux tirets, comme `-l` ou `--all`) et d'arguments (des noms de fichiers, des chaînes de caractères, etc.). En appuyant sur Entrée, la commande est interprétée et exécutée par le shell. La sortie de la commande s'affiche ensuite dans le terminal, suivie d'une nouvelle invite.

Des commandes de base comme `ls` (lister le contenu d'un répertoire), `cd` (changer de répertoire), `pwd` (afficher le répertoire courant), `mkdir` (créer un répertoire), `rm` (supprimer un fichier), `cp` (copier), `mv` (déplacer/renommer) sont les briques élémentaires de votre interaction. Il est crucial de bien comprendre leur syntaxe et leurs options principales pour naviguer et manipuler le système de fichiers efficacement.

L'historique des commandes : ne retapez plus jamais la même chose !

Bash conserve un historique des commandes que vous avez tapées. Cette fonctionnalité est extrêmement utile pour retrouver et réexécuter des commandes antérieures, surtout si elles sont longues ou complexes.

Navigation dans l'historique :
  • Flèche Haut (↑) : Affiche la commande précédente. Appuyer plusieurs fois remonte plus loin dans l'historique.
  • Flèche Bas (↓) : Descend dans l'historique, vers les commandes plus récentes (utile si vous êtes remonté trop loin avec la flèche haut).
Recherche dans l'historique :
La recherche interactive est l'une des fonctionnalités les plus puissantes. Appuyez sur `Ctrl+R` (reverse-i-search). L'invite de commande change pour `(reverse-i-search)` ou similaire. Commencez à taper une partie de la commande que vous recherchez. Bash affichera la correspondance la plus récente contenant ce que vous tapez. Si ce n'est pas la bonne commande, appuyez de nouveau sur `Ctrl+R` pour voir la correspondance précédente. Une fois la commande souhaitée affichée, vous pouvez :
  • Appuyer sur Entrée pour l'exécuter immédiatement.
  • Utiliser les flèches gauche/droite pour l'éditer avant de l'exécuter.
  • Appuyer sur `Ctrl+G` ou `Ctrl+C` pour annuler la recherche et revenir à l'invite normale.
La commande `history` :
Pour afficher une liste numérotée des dernières commandes enregistrées, tapez simplement :
history
Vous pouvez alors réexécuter une commande spécifique de cette liste en utilisant son numéro, précédé d'un point d'exclamation. Par exemple, si la commande que vous voulez réexécuter est la numéro 512 dans la sortie de `history` :
!512
Pour réexécuter la dernière commande :
!!
Pour réexécuter la dernière commande commençant par `ssh` :
!ssh

L'historique est généralement sauvegardé dans un fichier nommé `.bash_history` dans votre répertoire personnel. Sa taille et son comportement peuvent être configurés via des variables d'environnement Bash (comme `HISTSIZE` et `HISTFILESIZE`).

L'auto-complétion avec la touche Tab : votre meilleure amie

L'auto-complétion est une fonctionnalité incroyablement utile qui permet à Bash de compléter automatiquement les noms de commandes, les noms de fichiers, les noms de répertoires, les variables d'environnement et même les options de commandes, en appuyant sur la touche `Tab`.

Comment ça marche ?
  • Complétion de commandes : Commencez à taper le début d'une commande (par exemple, `mkd`) et appuyez sur `Tab`. Si `mkd` est le début unique d'une commande connue (comme `mkdir`), Bash la complétera instantanément. S'il y a plusieurs commandes commençant par `mkd`, Bash ne fera rien au premier `Tab` (ou émettra un son). Appuyez une deuxième fois sur `Tab` et Bash affichera toutes les correspondances possibles. Vous pouvez alors taper quelques lettres supplémentaires pour désambiguïser et appuyer de nouveau sur `Tab`.
  • Complétion de noms de fichiers/répertoires : Après avoir tapé une commande et un espace (par exemple, `ls ` ou `cd `), commencez à taper le début d'un nom de fichier ou de répertoire dans le dossier courant et appuyez sur `Tab`. Bash complétera le nom s'il est unique. S'il y a plusieurs correspondances, un deuxième appui sur `Tab` les listera. Cela fonctionne aussi avec les chemins (par exemple, `ls /usr/lo` puis `Tab` pourrait compléter en `/usr/local/`).
  • Complétion des options de commandes : Pour de nombreuses commandes, Bash peut aussi aider à compléter les options (par exemple, après `tar -` puis `Tab Tab`, il pourrait lister les options possibles comme `-xvf`, `-cvf`, etc.). Cela dépend de la configuration de la complétion pour cette commande spécifique.
  • Complétion des variables : Tapez `$` suivi du début d'un nom de variable (par exemple, `$PA`) puis `Tab` pour compléter les noms de variables d'environnement (comme `$PATH`).

L'auto-complétion vous fait non seulement gagner du temps de frappe, mais elle est aussi un excellent moyen d'explorer le système. Par exemple, si vous ne savez pas quels fichiers se trouvent dans `/etc/ap`, tapez `ls /etc/ap` puis `Tab Tab` pour voir les possibilités (comme `/etc/apt/`, `/etc/apache2/` si Apache est installé, etc.).

La puissance de l'auto-complétion vient de scripts de complétion spécifiques à chaque commande, souvent installés avec le paquet `bash-completion`. Assurez-vous que ce paquet est installé sur votre système pour une expérience de complétion optimale :

# Sur Debian/Ubuntu
sudo apt install bash-completion

# Sur Fedora/RHEL
sudo dnf install bash-completion
Après installation, vous devrez peut-être recharger votre configuration Bash (en fermant et rouvrant le terminal, ou en exécutant `source ~/.bashrc`).

En combinant l'utilisation judicieuse de l'historique des commandes et de l'auto-complétion, vous naviguerez et opérerez dans le terminal Bash avec une aisance et une rapidité accrues. Ce sont des compétences fondamentales qui décuplent votre productivité en ligne de commande.