Gestion des chemins dans le terminal avec pushd et popd
On a beau être un fervent utilisateur du terminal, on découvre régulièrement de nouvelles fonctionnalités qui nous font gagner du temps et qui nous paraissent finalement indispensables. Parmi elles, je viens juste d’apprendre l’existence des commandes pushd et popd; le « d » final faisant référence à « directory ». Ces deux commandes servent à gérer une pile de chemins. La première ajoute au dessus de la pile le chemin courant puis le chemin passé en paramètre et se rend à ce dernier. La seconde dépile le premier élément et se rend au nouveau premier élément. Un exemple concret de navigation classique depuis le terminal :
login@ubuntu:~/Documents/blog/articles$ cd /var/log login@ubuntu:/var/log$ do-something-amazing login@ubuntu:/var/log$ cd ~/Documents/blog/articles login@ubuntu:~/Documents/blog/articles$
En utilisant maintenant pushd et popd :
login@ubuntu:~/Documents/blog/articles$ pushd /var/log # ici est affiché l'état de la pile en partant du haut de celle-ci /var/log /home/login/Documents/blog/articles login@ubuntu:/var/log$ do-something-very-amazing login@ubuntu:/var/log$ popd login@ubuntu:~/Documents/blog/articles$
Le but à terme est donc d’utiliser autant que possible pushd à la place de cd de façon à gérer un historique de parcours de répertoires. Il est intéressant aussi de noter que la pile n’est évidemment pas limitée à deux éléments! Ainsi, deux pushd d’affilée permettront de revenir en arrière d’autant. Enfin, une utilisation pratique peut être de faire :
login@ubuntu:~/Documents/blog/articles$ pushd . ~/Documents/blog/articles ~/Documents/blog/articles
Ainsi, vous pouvez naviguer où bon vous semble le temps d’effectuer une autre tâche (avec des cd) et revenir quand nécessaire dans ce répertoire grâce à un popd. Dernière chose, la commande dirs permet de fournir l’état de la pile et d’en gérer quelques aspects (la vider par exemple).