有时,使用命令浏览 Linux 文件系统可能会很痛苦,尤其是对于新手而言。通常,我们主要使用cd(更改目录)命令来移动 Linux 文件系统。

本教程将解释一组Linux命令:“ pushd ”和“ popd ”,它们用于高效导航 Linux 目录结构。它们存在于大多数 shell 中,例如 bash、tcsh 等。

在 Linux 中pushd 和 popd 命令是如何工作的

pushd和popd根据“ LIFO ”(后进先出)原则工作。在这个原则中,只允许两种操作:将一个项目压入堆栈,以及从堆栈中弹出一个项目。

pushd 在栈顶添加一个目录,popd 从栈顶删除一个目录。

要显示目录堆栈(或历史记录)中的目录,我们可以使用dirs命令,如图所示。

[linuxmi@localhost ~/www.linuxmi.com/linuxmi]$dirs
~/www.linuxmi.com/linuxmi

或者

[linuxmi@localhost ~/www.linuxmi.com/linuxmi]$dirs -v
0 ~/www.linuxmi.com/linuxmi

pushd 命令- 将目录路径放入/添加到目录堆栈(历史记录)中,稍后允许您导航回历史记录中的任何目录。当您将目录添加到堆栈时,它也会回显历史(或“堆栈”)中存在的内容。

这些命令显示了 pushd 的工作原理:

[linuxmi@localhost ~/www.linuxmi.com]$pushd /var/www/html/
/var/www/html ~/www.linuxmi.com
[linuxmi@localhost /var/www/html]$pushd /home/linuxmi/web/wp-admin
~/web/wp-admin /var/www/html ~/www.linuxmi.com
[linuxmi@localhost ~/web/wp-admin]$pushd /mnt/hgfs
/mnt/hgfs ~/web/wp-admin /var/www/html ~/www.linuxmi.com
[linuxmi@localhost /mnt/hgfs]$pushd /test
/test /mnt/hgfs ~/web/wp-admin /var/www/html ~/www.linuxmi.com

pushd – 将目录添加到堆栈

从上面输出中的目录堆栈可以看到(目录索引顺序相反):

[linuxmi@localhost /test]$dirs -v
0 /test  是目录堆栈中的第五个 [索引为 0]。
1 /mnt/hgfs  是目录堆栈中的第四个 [索引为 1]。
2 ~/web/wp-admin  是目录堆栈中的第三个 [索引为 2]。
3 /var/www/html  是目录堆栈中的第二个 [索引为 3]。
4 ~/www.linuxmi.com 是目录堆栈中的第一个 [索引为 1]。

或者,我们可以使用表单中的目录索引pushd +# 或 pushd -#将目录添加到堆栈中。要进入/var/www/html,我们将输入:

[linuxmi@localhost /test]$pushd +3
/var/www/html ~/www.linuxmi.com /test /mnt/hgfs ~/web/wp-admin

注意在此之后,堆栈内容将发生变化。因此,从前面的示例中,要进入~/www.linuxmi.com,我们将使用:

[linuxmi@localhost /var/www/html]$pushd +1
~/www.linuxmi.com /test /mnt/hgfs ~/web/wp-admin /var/www/html

pushd – 用号码导航目录

popd 命令——从堆栈或历史记录的顶部删除一个目录。要列出目录堆栈,请键入:

[linuxmi@localhost ~/www.linuxmi.com]$popd
/test /mnt/hgfs ~/web/wp-admin /var/www/html

要从目录堆栈中删除目录,请使用popd +# 或 popd -#,在这种情况下,我们将键入以下命令以删除/mnt/hgfs:

[linuxmi@localhost /test]$popd +1
/test ~/web/wp-admin /var/www/html

popd – 从堆栈中删除目录

在本教程中,我们解释了用于导航目录结构的“pushd ”和“ popd ”命令。如果还有什么疑问,清通过下面的评论部分给我们留言。

发表评论