Gestion des chemins dans le terminal avec pushd et popd

\"Terminal\"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).

8 réflexions au sujet de « Gestion des chemins dans le terminal avec pushd et popd »

  1. Intéressant. Ça me fait penser à l’usage de « cd – » qui permet de retourner au précédent dossier. Donc avec l’exemple, ça ferait :

    login@ubuntu:~/Documents/blog/articles$ cd /var/log
    login@ubuntu:/var/log$ do-something-amazing
    login@ubuntu:/var/log$ cd –
    login@ubuntu:~/Documents/blog/articles$

    1. Ce sont des commandes MS-DOS à la base?! Du coup, je fais quoi? Je dépublie l’article? 😀
      D’ici à ce qu’ils nous sortent un vieux brevet pour nous dire qu’on peut pas utiliser pushd/popd… C’est à la mode en ce moment!

  2. Je confirme, autojump est merveilleux, indispensable au quotidien dans la console (et il y a une version pour zsh). En plus le dev principal est français et hyper réactif en cas de problèmes, ce qui ne gâche rien.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>