
La commande pushd est un outil de ligne de commande sous Linux qui permet de naviguer entre les répertoires.
C’est une alternative à la commande cd en permettant de sauvegarder un historique des répertoires visités dans une pile.
Syntaxe de base de la commande pushd
La syntaxe de base de la commande pushd est la suivante :
pushd [options] [répertoire]
Voici les options les plus couramment utilisées :
- -n : Empêche l’ajout du répertoire courant à la pile
- -v : Affiche la pile de répertoires après chaque opération
- -r : Inverse l’ordre des éléments dans la pile
Si aucun répertoire n’est spécifié, pushd échange simplement les deux premiers éléments de la pile.
Comment utiliser pushd pour naviguer entre les répertoires ?

Pour utiliser pushd afin de se déplacer vers un nouveau répertoire, il suffit de spécifier le chemin du répertoire en argument :
pushd /chemin/vers/le/répertoire
Cette commande ajoute le répertoire courant à la pile, puis change de répertoire vers celui spécifié. Pour revenir au répertoire précédent, utilisez la commande popd.
Exemple d’utilisation
Voici un exemple concret d’utilisation de pushd et popd :
$ pwd /home/utilisateur $ pushd /etc /etc ~ $ pwd /etc $ popd ~ $ pwd /home/utilisateur
Fonctionnement de pushd avec la pile de répertoires
La commande pushd interagit avec une structure de données appelée « pile de répertoires ». Chaque fois que pushd est utilisé, le répertoire courant est ajouté en haut de la pile, et le nouveau répertoire spécifié devient le répertoire courant.
La commande dirs permet d’afficher le contenu de la pile de répertoires :
$ dirs /home/utilisateur $ pushd /etc /etc /home/utilisateur $ pushd /var/log /var/log /etc /home/utilisateur $ dirs /var/log /etc /home/utilisateur
Pour naviguer entre les répertoires de la pile, utilisez pushd avec un argument numérique :
$ pushd +1 /etc /home/utilisateur /var/log $ pushd -1 /var/log /etc /home/utilisateur
Différences entre pushd et cd
Bien que pushd et cd soient tous deux utilisés pour changer de répertoire, ils présentent quelques différences clés :
- pushd conserve un historique des répertoires visités dans une pile, permettant une navigation facile entre eux
- cd ne garde pas de trace des répertoires précédents, rendant plus difficile la navigation vers un répertoire antérieur
- pushd peut être utilisé pour échanger rapidement deux répertoires, en les inversant dans la pile
- cd nécessite de spécifier explicitement le chemin du répertoire à chaque fois
En résumé, pushd offre plus de flexibilité et de fonctionnalités pour gérer efficacement les répertoires fréquemment visités.
Exemples pratiques d’utilisation de pushd

Exemple 1 : Navigation rapide entre deux répertoires
Si vous travaillez fréquemment avec deux répertoires, comme /var/www/projet1 et /var/log/, vous pouvez utiliser pushd pour basculer rapidement entre eux :
$ pushd /var/www/projet1 /var/www/projet1 ~ $ pushd /var/log /var/log /var/www/projet1 $ pushd /var/www/projet1 /var/log
Exemple 2 : Exploration temporaire d’un répertoire
Si vous devez explorer temporairement un répertoire, sans perdre votre emplacement actuel, pushd et popd vous seront utiles :
$ pwd /home/utilisateur $ pushd /etc/nginx/ /etc/nginx ~ $ pwd /etc/nginx $ popd ~ $ pwd /home/utilisateur
En utilisant pushd, vous pouvez facilement naviguer vers le répertoire souhaité, effectuer les tâches nécessaires, puis revenir à votre emplacement d’origine avec popd.

