Voici le quatrième volet de mon cours d’introduction au shell Bash. La dernière fois, nous avons vu l’affichage à l’écran. Aujourd’hui, nous abordons certains aspects de la navigation dans l’arborescence des répertoires.
- Le caractère ~
- La commande interne cd
- Gérer une pile de répertoires avec pushd et popd
- Documentation
Le caractère ~
Le caractère ~
(tilde) représente le répertoire d’accueil de l’utilisateur courant.
$ whoami kikinovak $ cd ~ $ pwd /home/kikinovak $ ls ~/ISO CentOS Debian Mageia Neon PopOS Slax SolydK Ubuntu
Si le caractère ~
est immédiatement suivi d’un mot, ce dernier est considéré comme un nom d’utilisateur.
# pwd /root # cd ~microlinux # pwd /home/microlinux
La commande interne cd
La commande cd
sans argument permet à l’utilisateur de revenir dans son répertoire d’accueil.
$ cd $ pwd /home/kikinovak
Comme nous venons de le voir, on peut effectuer la même opération en utilisant le caractère ~
, qui représente le répertoire d’accueil de l’utilisateur courant.
$ cd ~ $ pwd /home/kikinovak
L’option -
permet de revenir dans le répertoire précédent.
$ pwd /home/kikinovak $ cd /tmp/ $ pwd /tmp $ cd - /home/kikinovak $ pwd /home/kikinovak
Gérer une pile de répertoires avec pushd et popd
La commande cd
avec l’option -
est très pratique pour revenir dans le répertoire précédent. Or, il peut s’avérer pratique d’empiler les chemins pour les réutiliser par la suite. Dans ce cas, on utilisera les commandes pushd
, popd
et dirs
pour gérer les piles de répertoire, comme le montre l’exemple suivant.
$ pwd /home/kikinovak $ pushd /tmp/ /tmp ~ $ pushd /var/log/ /var/log /tmp ~ $ pushd /usr/bin/ /usr/bin /var/log /tmp ~ $ dirs /usr/bin /var/log /tmp ~ $ popd /var/log /tmp ~ $ popd /tmp ~ $ popd ~ $ pwd /home/kikinovak
Chaque invocation de pushd
ajoute un chemin à la pile de répertoires. En contrepartie, popd
enlève un chemin à cette pile et revient dans le répertoire précédent sur la pile. Quant à la commande dirs
, elle sert tout simplement à afficher la pile.
Documentation
- Christine Deffaix-Rémy – Programmation shell sous Unix/Linux, pp. 30 – 31
- Cameron Newham – Learning the Bash shell, pp. 7 – 10
- Carl Albing – Bash Cookbook, pp. 453 – 455
Lire la suite : Substitution de noms de fichiers