Maison  >  Article  >  Tutoriel système  >  Conseils sur l'utilisation des outils de ligne de commande dans les systèmes Linux (2)

Conseils sur l'utilisation des outils de ligne de commande dans les systèmes Linux (2)

WBOY
WBOYavant
2024-02-09 16:40:331056parcourir

Dans la première partie de cette série d'articles, nous nous sommes concentrés sur la navigation en ligne de commande sous Linux et avons discuté de quelques points/concepts associés en explorant l'utilisation de la commande cd –. Nous allons maintenant examiner de plus près comment utiliser les commandes pushd et popd pour une expérience de navigation plus rapide dans la ligne de commande Linux.

Conseils sur lutilisation des outils de ligne de commande dans les systèmes Linux (2)

Avant de commencer, il convient de préciser que toutes les instructions et commandes mentionnées ci-après ont été testées sur Ubuntu 14.04 et le shell Bash (4.3.11).

bases des commandes pushd et popd

Pour mieux comprendre le rôle des commandes pushd et popd, abordons d'abord le concept de pile. Imaginez que vous ayez un espace vide sur le plan de travail de votre cuisine et que vous souhaitiez y placer un ensemble de vaisselle. Que faire ? Simple, les mettre dessus les uns après les autres.

Ainsi, à la fin de tout le processus, la première assiette sur la planche à découper est la dernière assiette de la pile, et la dernière assiette dans votre main est la première assiette de la pile. Désormais, lorsque vous avez besoin d'une assiette, vous sélectionnez celle en haut de la pile et l'utilisez, puis sélectionnez la suivante si nécessaire.

Les commandes pushd et popd sont des concepts similaires. Sur les systèmes Linux, il existe une pile de répertoires dans laquelle vous pouvez empiler les chemins de répertoire pour une utilisation ultérieure. Vous pouvez utiliser la commande dirs pour afficher rapidement le contenu de la pile à tout moment.

L'exemple ci-dessous montre le résultat de l'utilisation de la commande dirs sur mon système immédiatement après le démarrage du terminal de ligne de commande :

$ dirs
 ~

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

Allez-y et utilisez les commandes pushd et popd pour stocker le chemin du répertoire et le supprimer. Utiliser pushd est très simple : il suffit de transmettre le chemin à stocker dans la pile de répertoires comme argument à cette commande. Voici un exemple :

pushd /home/himanshu/Downloads/

La commande ci-dessus remplace le répertoire de travail actuel par le répertoire que vous avez passé en argument et ajoute également le chemin à la pile de répertoires. Pour la commodité de l'utilisateur, la commande pushd produit le contenu de la pile de répertoires dans sa sortie. Par conséquent, lors de l’exécution de la commande ci-dessus, le résultat suivant est produit :
~/Téléchargements ~
Le résultat montre qu'il existe désormais deux chemins de répertoire dans la pile : l'un est le répertoire personnel de l'utilisateur et le répertoire de téléchargement de l'utilisateur. Ils sont enregistrés dans l'ordre dans lequel le répertoire principal se trouve en bas et le répertoire de téléchargements nouvellement ajouté se trouve au-dessus.

Pour vérifier que la sortie de pushd est correcte, vous pouvez également utiliser la commande dirs :

$ dirs
~/Downloads ~

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

Utilisons à nouveau la commande pushd :

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

/usr/lib ~/Téléchargements ~

~/Bureau /usr/lib ~/Téléchargements ~

La pile de répertoires contient désormais un total de quatre chemins de répertoire, avec le répertoire personnel (~) en bas et le répertoire de bureau de l'utilisateur en haut.

N'oubliez pas que la tête de la pile est votre répertoire actuel. Cela signifie que notre répertoire de travail actuel est désormais ~/Desktop.

Maintenant, disons que vous souhaitez revenir au répertoire /usr/lib, il ne vous reste donc plus qu'à exécuter la commande popd :

$ popd
/usr/lib ~/Downloads ~
La commande

popd changera non seulement le répertoire actuel en /usr/lib, elle supprimera également ~/Desktop de la pile de répertoires, comme vous pouvez le voir dans le résultat de la commande. De cette façon, la commande popd vous permettra de parcourir ces répertoires dans l'ordre inverse.

Certaines utilisations avancées

Maintenant que nous avons discuté des bases des commandes pushd et popd, passons à quelques autres détails liés à ces commandes. Premièrement, ces commandes vous permettent également de manipuler les piles de répertoires. Par exemple, disons que votre pile de répertoires ressemble à ceci : 

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

Maintenant, notre exigence est de changer l'ordre des chemins de répertoire dans la pile, l'élément le plus haut (~/Desktop) est placé en bas et chacun des éléments restants est déplacé vers le haut d'une position. Ceci peut être réalisé en utilisant la commande suivante :

pushd +1

Le résultat de la commande ci-dessus sur la pile de répertoires :

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

Nous constatons donc que l'ordre des éléments dans la pile de répertoires a changé et est désormais le même que nous souhaitions. Bien entendu, 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 fera monter deux fois :

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

Vous pouvez également utiliser des valeurs d'index négatives :

$ 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 le répertoire de travail actuel. Par exemple, si vous souhaitez utiliser popd pour supprimer la troisième entrée en partant du haut (actuellement ~/Downloads), vous exécuterez la commande suivante :

popd +2

N'oubliez pas que la valeur initiale de l'index de pile est 0, nous utilisons donc 2 pour accéder à la troisième entrée.

La pile de répertoires contient donc désormais :

$ dirs

/usr/lib ~ ~/Desktop

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

如果由于某些原因,你发现你很难记住元素在目录堆栈中的位置以及它们的索引,你则可以对在 dirs 命令中使用 -v 选项。这里有一个例子:

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

你可能已经猜到了,左边的数字是索引,接下来跟的是这个索引对应的目录路径。

注意: 在 dir 中使用 -c 选项清除目录堆栈。

现在让我们简要地讨论一下 popd 和 pushd 命令的实际用法。虽然它们第一眼看起来可能有点复杂,但是这些命令在编写 shell 脚本时会派上用场 – 你不需要记住你从哪里来;只要执行一下 popd,你就能回到你来的目录。

经验丰富的脚本编写者通常以以下方式使用这些命令:

popd >/dev/null 2>&1

上述命令确保 popd 保持静默(不产生任何输出)。同样,你也可以静默 pushd。

pushd 和 popd 命令也被 Linux 服务器管理员使用,他们通常在几个相同的目录之间移动。 在这里介绍了一些其他有用的使用场景。

总结

我同意 pushd 和 popd 的概念不是很直接。但是,它需要的只是一点练习 – 是的,你需要多实践。花一些时间在这些命令上,你就会开始喜欢它们,特别是当它们提供了方便时。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer