Suite de l’articles Bash #1, après avoir vu comment rendre son shell bash un peu plus attractif, cette fois ci quelques trucs pour se simplifier la vie dans la navigation au sein du système de fichier et sur la gestion des alias.
La variable CDPATH
Les shells sont configurés en partie à l’aide de variables d’environnement. Il en existe un certain nombre et celles définies sur votre système peuvent être listées à l’aide de printenv. Parmis ces variables, CDPATH permet de se simplifier la navigation dans l’arborescence à l’aide du shell et sa commande cd.
En effet, par défaut, cd xxxyyyzzz recherche le répertoire xxxyyyzzz dans le répertoire courant, mais en spécificiant la variable CDPATH, il est possible de demander au shell de regarder éventuellement dans d’autres répertoires si ce répertoire existe. J’utilise cette fonctionnalités pour naviguer rapidement dans les différents répertoires stockant les sites web sur ma machine en insérant la ligne suivante dans mon fichier .bashrc :
1 | export CDPATH=".:/home/polux/public_html" |
Ainsi à chaque fois que je fais un cd xxxyyyzzz, le shell cherche si xxxyyyzzz existe dans le répertoire courant, et si ce n’est pas le cas, il cherche en suite dans /home/polux/public_html. Il procède de la même manière, si on utilise le complètement avec la touche
Correction automatique
Une option permet de demander à bash de corriger les (petites) fautes frappes simples lors de l’utilisation de cd. Elle s’active avec la ligne suivante que l’on peut ajouter dans son .bashrc
1 | shopt -s cdspell |
Avec cette option certaines fautes sont corrigées :
1 2 3 4 5 6 7 8 9 | > polux@Aemeth.org[213.251.170.118]:~/tmp/test$ mkdir Documents > polux@Aemeth.org[213.251.170.118]:~/tmp/test$ cd Documen bash: cd: Documen: Aucun fichier ou répertoire de ce type > polux@Aemeth.org[213.251.170.118]:~/tmp/test$ cd Document Documents > polux@Aemeth.org[213.251.170.118]:~/tmp/test/Documents$ cd .. > polux@Aemeth.org[213.251.170.118]:~/tmp/test$ cd Documents- Documents > polux@Aemeth.org[213.251.170.118]:~/tmp/test/Documents$ |
Quelques petits trucs avec cd
Taper cd sans argument permet d’aller directement dans son répertoire personnel.
En shell, ~ signifie le répertoire personnel de l’utilisateur, ainsi taper cd ~polux permet d’aller dans le répertoire personnel de l’utilisateur dont le login est polux. cd ~polux/Documents permet d’aller dans le répertoire Documents dans le home directory de polux. Si le login est omis, c’est celui de l’utilisateur courant qui est pris en compte.
cd – permet de retourner au répertoire précédent. Très pratique pour passer d’un répertoire à un autre éloiginé dans l’arborescence.
Les alias permettent se simplifier des lignes de commandes en les réduisant au plus court et aussi de pallier aux fautes de frappe. Pour définir un alias, il suffit d’utiliser la commande interne alias. Lorsqu’un alias défini est tappé par l’utilisateur, le bash remplace simplement l’alias par sa définition. Quelques exemples de féfinitions (à mettre dans son .bashrc) :
1 2 3 | alias rzo="sudo watch netstat -alpe --ip" alias ag="sudo apt-get" alias :wq='echo Je ne suis PAS vim' |
Le premier (rzo) permet de surveiller régulièrement quels programmes utilisent le réseau. Le deuxieme est un raccourci bien pratique enfin le dernier est là pour pallier à des erreurs de fenêtre.
Pour voir la liste des alias, il suffit de taper alias sans paramètre. La commande interne unalias permet de supprimer un alias dont le nom est passé en paramètre.


