La complétion est un moyen d’utiliser la touche TAB pour afficher les options d’une commande lors de son utilisation dans un shell.
Voici un mémo pour activer cette fonctionnalité sous une Debian 7 Wheezy.
La complétion permet surtout d’aller plus vite dans la saisie des commandes shell.
Le seul problème, c’est qu’à force d’utiliser la complétion, je me suis aperçu que je ne mémorisais pas forcément les commandes mais que c’était devenu instinctif.
De plus, les expliquer à un collaborateur sans les taper au clavier peut parfois devenir problématique …
Donc, à utiliser avec parcimonie.
Installation :
1 |
apt-get install bash-completion |
Normalement un simple reboot permet d’activer la complétion.
Mais si ce n’est pas le cas ou si vous ne pouvez pas rebooter le serveur, il faut éditer le fichier /etc/bash.bashrc et dé-commenter ces lignes :
1 2 3 4 5 6 7 8 |
# enable bash completion in interactive shells if ! shopt -oq posix; then if [ -f /usr/share/bash-completion/bash_completion ]; then . /usr/share/bash-completion/bash_completion elif [ -f /etc/bash_completion ]; then . /etc/bash_completion fi fi |
Ensuite, se déconnecter puis se reconnecter.
Maintenant, en tapant le début d’une commande, et en tabulant une fois si la suite est unique, la commande est complétée.
Sinon en tabulant deux fois, une liste de propositions sera affichée.
Exemple.
Si je commence à saisir cette commande et que je tabule1 fois, rien ne s’affiche.
Mais si je tabule 2 fois, j’ai la liste des commandes disponibles qui commencent par ce que j’ai commencé à saisir :
1 2 3 4 5 6 |
# apt- apt-cache apt-file apt-mark apt-cdrom apt-ftparchive apt-sortpkgs apt-config apt-get apt-extracttemplates apt-key # apt- |
Remarquez que le début de la commande est à nouveau affichée dessous les possibilités.
Si je saisis « apt-g » suivi d’une tabulation, c’est « apt-get » qui s’affiche.
Le même principe s’applique aux options.
Exemple avec uniquement la lettre « d » et 2 tabulations :
1 2 3 |
# apt-get d dist-upgrade download dselect-upgrade # apt-get d |
Mais avec « apt-get di », j’ai directement « apt-get dist-upgrade » puisque c’est la seule options qui corresponde.