GNU/Linux >> Tutoriels Linux >  >> Linux

Conseils de navigation en ligne de commande Linux :les bases des commandes pushd et popd

Dans la première partie de cette série, nous nous sommes concentrés sur l'aspect de la navigation en ligne de commande sous Linux en discutant de l'utilisation du cd - commande. D'autres points/concepts connexes ont également été abordés. Pour aller plus loin dans la discussion, dans cet article, nous discuterons de la façon dont vous pouvez avoir une expérience de navigation plus rapide sur la ligne de commande Linux en utilisant les commandes pushd et popd.

Avant d'aller de l'avant, il convient de partager que toutes les instructions et commandes mentionnées ont désormais été testées sur Ubuntu 14.04 et le shell Bash (version 4.3.11).

Les bases des commandes pushd et popd

Pour mieux comprendre ce que font exactement les commandes pushd et popd, discutons d'abord du concept de pile. Imaginez une zone vide sur la dalle de votre cuisine, et imaginez maintenant un ensemble d'assiettes que vous souhaitez y conserver. Que vas-tu faire? Simple, gardez-les l'un sur l'autre.

Ainsi, à la fin de tout le processus, la première assiette que vous avez conservée sur la dalle finit par être la dernière assiette de la pile, et la dernière assiette que vous aviez en main finit par être la première assiette de la pile. Désormais, lorsque vous avez besoin d'une assiette, vous choisissez celle qui se trouve en haut de la pile, utilisez-la, puis choisissez la suivante si nécessaire.

Le concept des commandes pushd et popd est similaire. Il existe une pile de répertoires sur votre système Linux où vous pouvez empiler des chemins de répertoires pour une utilisation future. Vous pouvez voir rapidement le contenu de la pile à tout moment en utilisant les répertoires commande.

Voici un exemple qui montre la sortie de la commande dirs sur mon système immédiatement après le lancement du terminal de ligne de commande :

$ dirs
~

Le tilde (~) dans la sortie signifie que la pile de répertoires ne contient actuellement que le répertoire personnel de l'utilisateur.

Ensuite, l'opération de stockage d'un chemin de répertoire et sa suppression sont effectuées à l'aide des commandes pushd et popd. L'utilisation de pushd est très simple :transmettez simplement le chemin que vous souhaitez stocker dans la pile de répertoires en tant qu'argument de cette commande. Voici un exemple :

pushd /home/himanshu/Downloads/

Ce que fait la commande ci-dessus, c'est qu'elle change votre répertoire de travail actuel vers le répertoire que vous avez passé comme argument, et ajoute également le chemin d'accès à la pile de répertoires. Pour rendre les choses plus pratiques pour l'utilisateur, la commande pushd produit le contenu de la pile de répertoires dans sa sortie. Ainsi, lorsque la commande ci-dessus a été exécutée, la sortie suivante a été produite :

~/Downloads ~

La sortie révèle qu'il existe maintenant deux chemins de répertoire dans la pile :l'un est le répertoire personnel de l'utilisateur et l'autre est le répertoire de téléchargements de l'utilisateur. L'ordre dans lequel ils sont conservés est le suivant :le répertoire personnel est en bas et le répertoire Téléchargements nouvellement ajouté est au-dessus.

Pour vérifier que ce que pushd dit dans sa sortie est vrai, vous pouvez également utiliser la commande dirs :

$ dirs
~/Downloads ~

Vous pouvez donc voir que la commande dirs a également produit le même résultat.

Lançons quelques commandes pushd supplémentaires :

$ pushd /usr/lib/; pushd /home/himanshu/Desktop/
/usr/lib ~/Downloads ~
~/Desktop /usr/lib ~/Downloads ~

Ainsi, la pile de répertoires contient désormais un total de quatre chemins de répertoires, où le répertoire personnel (~) est en bas et le répertoire Bureau de l'utilisateur est en haut.

Gardez toujours à l'esprit que la tête de la pile est le répertoire dans lequel vous vous trouvez actuellement. Cela signifie que notre répertoire de travail actuel est désormais ~/Desktop.

Maintenant, supposons que vous vouliez revenir au répertoire /usr/lib, donc tout ce que vous avez à faire est d'exécuter la commande popd :

$ popd
/usr/lib ~/Downloads ~

La commande popd basculera non seulement votre répertoire actuel vers /usr/lib, mais supprimera également ~/Desktop de la pile de répertoires, comme en témoigne le résultat produit par la commande. De cette façon, la commande popd vous permettra de parcourir ces répertoires dans l'ordre inverse.

Quelques points avancés

Maintenant que nous avons discuté des bases des commandes pushd et popd, passons à d'autres détails liés à ces commandes. Pour commencer, ces commandes vous permettent également de manipuler la pile de répertoires. Par exemple, supposons que voici à quoi ressemble votre pile de répertoires :

$ dirs
~/Desktop /usr/lib ~ ~/Downloads

Maintenant, disons que l'exigence est de changer l'ordre des chemins de répertoire dans la pile de manière à ce que l'élément le plus haut (~/Desktop) vienne en bas et reste tous en remontant d'une place chacun. Ceci peut être réalisé en utilisant la commande suivante :

pushd +1

Et voici ce que la commande ci-dessus fait à la pile de répertoire :

$ dirs
/usr/lib ~ ~/Downloads ~/Desktop

Nous voyons donc que l'ordre des éléments dans la pile de répertoires a été modifié et est maintenant le même que nous le souhaitions. Bien sûr, vous pouvez déplacer les éléments de la pile de répertoires autant de fois que vous le souhaitez. Par exemple, la commande suivante les déplacera deux fois vers le haut :

$ pushd +2
~/Downloads ~/Desktop /usr/lib ~

Vous pouvez également utiliser des index négatifs :

$ pushd -1
/usr/lib ~ ~/Downloads ~/Desktop

De même, vous pouvez utiliser cette technique avec la commande popd pour supprimer toute entrée de la pile de répertoires sans quitter votre répertoire de travail actuel. Par exemple, si vous souhaitez supprimer la troisième entrée en partant du haut (actuellement ~/Téléchargements) à l'aide de popd, vous pouvez exécuter la commande suivante :

popd +2

N'oubliez pas que l'index de la pile commence par 0. Nous avons donc utilisé 2 pour accéder à la troisième entrée.

Ainsi, la pile de répertoires contient désormais :

$ dirs
/usr/lib ~ ~/Desktop

Confirmation que l'entrée a été supprimée.

Si, pour une raison quelconque, vous avez du mal à vous souvenir de l'ordre dans lequel les éléments sont positionnés dans la pile de répertoires ainsi que des index qu'ils portent, vous pouvez utiliser l'option de ligne de commande -v avec la commande dirs. Voici un exemple :

$ dirs -v
0 /usr/lib
1 ~
2 ~/Desktop

Comme vous l'auriez probablement deviné, les nombres à gauche sont des index et ce qui les suit est le chemin du répertoire positionné à cet index.

Remarque  :Utilisez l'option de ligne de commande -c avec la commande dirs pour effacer la pile de répertoires.

Voyons maintenant brièvement l'utilisation pratique des commandes popd et pushd. Bien qu'elles puissent sembler un peu compliquées à utiliser à première vue, ces commandes sont utiles lors de l'écriture de scripts shell - vous n'avez pas besoin de vous rappeler d'où vous venez; faites simplement un popd et vous revenez au répertoire d'où vous venez.

Les scénaristes expérimentés utilisent généralement ces commandes de la manière suivante :

popd >/dev/null 2>&1

La commande susmentionnée s'assure que popd reste silencieux (ne produit aucune sortie). De même, vous pouvez également pushd silencieux.

Les commandes pushd et popd sont également utilisées par les administrateurs de serveurs Linux, qui se déplacent généralement entre une poignée de mêmes répertoires tout le temps. D'autres cas d'utilisation très instructifs sont expliqués ici.

Conclusion

D'accord, le concept de pushd et popd n'est pas très simple. Mais tout ce qu'il faut, c'est un peu de pratique - oui, vous devez vous salir les mains. Passez du temps avec ces commandes et vous commencerez à les aimer, surtout s'il y a un cas d'utilisation où elles vous facilitent la vie.


Linux
  1. Regardez les commandes et les tâches avec la commande Linux watch

  2. 8 conseils pour la ligne de commande Linux

  3. Utilisez 'pushd' et 'popd' pour une navigation efficace dans le système de fichiers sous Linux

  4. Trucs/astuces de navigation en ligne de commande Linux 3 - la variable d'environnement CDPATH

  5. Principes de base de la ligne de commande Linux - Exécution de commandes à partir de la ligne de commande

Comment utiliser les commandes Pushd, Popd et Dirs pour une navigation CLI plus rapide

Principes de base de la ligne de commande Linux :sudo

5 commandes pour afficher le contenu d'un fichier en ligne de commande Linux

Recherche des fichiers et dossiers les plus volumineux dans la ligne de commande Linux

19 trucs et astuces utiles pour la ligne de commande Linux

Principes de base de la ligne de commande Linux - Travailler avec des fichiers et des répertoires