高效的浏览 Linux 目录结构:pushd和popd命令

2023年 10月 27日 55.7k 0

导读 有时候,通过
来在 
 文件系统导航是一件非常痛苦的事情,特别是对于一些新手。通常情况下,我们主要使用cd(改变目录)
在 Linux 文件系统之间移动。



在这个教程中,我们将讨论两个相关的命令:pushd和popd,使用它们可以高效的浏览 Linux 目录结构。这两个命令在大多数 
 ,比如 bash、tcsh 中都存在。

pushd 和 popd 命令在 Linux 系统中如何工作

pushd和popd命令根据 ‘LIFO’(后进先出)原则工作。在这个原则之下,只有两个操作是允许的:把一个目录压入栈,以及把一个目录弹出栈。

pushd命令会增加一个目录到栈顶,而popd命令会从栈顶移除一个目录。

为了显示目录栈中(或历史)的目录,我们可以使用下面展示的dirs命令:

$ dirs
或
$ dirs -v

dirs- 显示位于目录栈中的目录

pushd命令:将一个目录路径添加到/放入目录栈(历史)中,之后,你可以浏览位于目录栈(历史)中的任意目录。当把一个新的目录入栈时,会打印出当前位于栈中的所有目录。

下面这些命令会展示这个命令是如何工作的:

$ pushd  /var/www/html/
$ pushd ~/Documents/
$ pushd ~/Desktop/
$ pushd /var/log/

pushd-添加新目录入栈

根据上面输出的目录栈可知(目录索引按倒序排列):

  • /var/log是目录栈中的第五个目录,索引为 0
  • ~/Desktop/是第四个,索引为 1
  • ~/Document/是第三个,索引为 2
  • /var/www/html是第二个,索引为 3
  • ~是第一个,索引为 4

另外,我们也可以使用目录索引的形式pushd +#或pushd -#来添加目录入栈。为了进入目录~/Documents,我们可以输入:

$ pushd +2

pushd-通过数字浏览目录

注意,经过上一步操作以后,栈的内容便发生了改变。所以,要从上面的例子中进入目录/var/www/html,我们应该使用下面的命令:

$ pushd +1

pushd-通过数字浏览目录

popd命令-从栈顶或历史中移除一个目录。为了列出目录栈中的所有目录,只需输入:

$ popd

为了从目录栈中移除一个目录,我们可以使用popd +#或popd -#命令,在这时,我们需要输入下面的命令来移除目录~/Documents:

$ popd +1

popd-从栈中以移除目录

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论