Android

Commandes pushd et popd sous linux

The pushd and popd commands on linux, and the "cd -" command

The pushd and popd commands on linux, and the "cd -" command

Table des matières:

Anonim

pushd et popd sont des commandes qui vous permettent de travailler avec la pile de répertoires et de modifier le répertoire de travail actuel sous Linux et d'autres systèmes d'exploitation de type Unix. Bien que pushd et popd soient des commandes très puissantes et utiles, elles sont sous-estimées et rarement utilisées.

Dans ce didacticiel, nous allons vous montrer comment utiliser les commandes pushd et popd pour parcourir l'arborescence de répertoires de votre système.

Pile de répertoires

La pile de répertoires est une liste de répertoires dans lesquels vous avez précédemment navigué. Le contenu de la pile de répertoires est visible à l'aide de la commande dirs . Les répertoires sont ajoutés à la pile lors du passage à un répertoire à l'aide de la commande pushd et supprimés avec la commande popd .

Le répertoire de travail actuel est toujours en haut de la pile de répertoires. Le répertoire de travail actuel est le répertoire (dossier) dans lequel l'utilisateur travaille actuellement. Chaque fois que vous interagissez avec la ligne de commande, vous travaillez dans un répertoire.

La commande pwd vous permet de découvrir dans quel répertoire vous vous trouvez actuellement.

Lorsque vous naviguez dans le système de fichiers, utilisez la touche Tab pour compléter automatiquement les noms des répertoires. L'ajout d'une barre oblique à la fin du nom du répertoire est facultatif.

pushd , popd et dirs sont des commandes intégrées au shell, et son comportement peut légèrement différer d'un shell à l'autre. Nous couvrirons la version Bash intégrée des commandes.

Commande pushd

La syntaxe de la commande pushd est la suivante:

pushd

Par exemple, pour enregistrer le répertoire actuel en haut de la pile de répertoires et passer à /var/www vous /var/www :

~$ pushd /var/www

En cas de succès, la commande ci-dessus imprimera la pile de répertoires. ~ est le répertoire dans lequel nous avons exécuté la commande pushd . Le symbole tilde ~ signifie répertoire personnel.

/var/www ~

pushd enregistre d'abord le répertoire de travail actuel en haut de la pile, puis navigue vers le répertoire donné. Comme le répertoire en cours doit toujours être en haut de la pile, une fois modifié, le nouveau répertoire en cours va en haut de la pile mais il n'est pas enregistré dans la pile. Pour l'enregistrer, vous devez en invoquer pushd . Si vous utilisez cd pour passer à un autre répertoire, l'élément supérieur de la pile sera perdu,

Ajoutons un autre répertoire à la pile:

/var/www$ pushd /opt

/opt /var/www ~

Pour supprimer la modification par défaut du répertoire, utilisez l'option -n . Par exemple, pour ajouter le /usr/local à la pile sans y changer, vous devez taper:

/opt$ pushd -n /usr/local

Comme le répertoire actuel (qui est toujours en haut) n'est pas modifié, le /usr/local est ajouté en deuxième position en haut de la pile:

/opt /usr/local /var/www ~

Le pushd accepte deux options, +N et -N qui vous permettent de naviguer jusqu'au Nth répertoire de la pile. L'option +N transforme en Nth élément de la liste de pile en comptant de gauche à droite en commençant par zéro. Lorsque -N est utilisé, la direction du comptage est de droite à gauche.

Pour mieux illustrer les options, imprimons la pile de répertoires actuelle:

/opt$ dirs -l -v

La sortie affichera une liste indexée de la pile de répertoires:

0 /opt 1 /usr/local 2 /var/www 3 /home/linuxize

Lors du comptage de haut en bas (ou de gauche à droite), l'index du répertoire est 2 .

pushd +2

Lors du comptage de bas en haut, l'index du répertoire /var/www est 1 .

pushd -1.

Lorsqu'il est utilisé sans aucun argument, pushd basculera les deux répertoires supérieurs et fera du nouveau sommet le répertoire courant. C'est la même chose que lors de l'utilisation de la commande cd - .

Commande popd

La commande popd prend la forme:

popd

Lorsqu'il est utilisé sans argument, popd supprime le répertoire supérieur de la pile et accède au nouveau répertoire supérieur.

Disons que nous avons la pile de répertoires suivante:

/opt /usr/local /var/www /etc/nginx ~

/opt$ popd

La sortie affichera la nouvelle pile de répertoires:

/usr/local /var/www /etc/nginx ~

L'option -n supprime la modification du répertoire par défaut et supprime le deuxième élément de la pile:

/opt$ popd -n

/usr/local /etc/nginx ~

Identique à pushd , popd accepte également les options +N et -N qui peuvent être utilisées pour supprimer le Nth répertoire de la pile.

/opt$ popd +1

/usr/local ~

Conclusion

Normalement, vous utiliseriez la commande cd pour vous déplacer d'un répertoire à un autre. Cependant, si vous passez beaucoup de temps sur la ligne de commande, les commandes pushd et popd augmenteront votre productivité et votre efficacité.

terminal bash