在Linux中使用'pushd'和'popd'来实现高效的文件系统导航

本教程将介绍一组相关的命令:“pushd”和“popd”,用于有效导航Linux目录结构。

有时,使用命令导航Linux文件系统可能会很痛苦,特别是对于新手来说。 通常,我们主要使用cd(Change Directory)命令来移动Linux文件系统。

在前一篇文章中,我们审查了一个简单而有用的CLI命令行实用程序,名为bd,用于快速回到父目录,而不用重复输入cd ../../ ..

本教程将介绍一组相关的命令:“ pushd ”和“ popd ”,用于有效导航Linux目录结构。 它们存在于大多数shell中,如bash,tcsh等。

建议阅读: Autojump - 一个高级“cd”命令来快速浏览Linux文件系统

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

按照“ LIFO ”(最先进先出)原则推进和弹出工作。 在这个原则中,只允许两个操作:将一个项目推入,并将一个项目从中弹出。

pushd将一个目录添加到顶部,popd从顶部删除一个目录。

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

$ dirs
OR
$ dirs -v
目录 - 目录中显示目录

目录 - 目录中显示目录

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

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

$ pushd  /var/www/html/
$ pushd ~/Documents/
$ pushd ~/Desktop/
$ pushd /var/log/
pushd  - 将目录添加到

pushd - 将目录添加到

从上面输出的目录(目录索引是相反的顺序):

  • / var / log是目录栈中的第五个[index 0]。
  • 〜/ Desktop /是第四个[index 1]。
  • 〜/ Documents /是第三[索引2]。
  • / var / www / html / is second [index 3] and
  • 是第一个[索引4]。

或者,我们可以使用pushd +#pushd -#的形式将pushd +#索引添加到中。 要移入〜/ Documents ,我们输入:

$ pushd +2
pushd  - 带号码的目录导航

pushd - 带号码的目录导航

注意之后,内容会改变。 所以从前面的例子,移动到/ var / www / html ,我们将使用:

$ pushd +1
pushd  - 使用号码导航目录

pushd - 使用号码导航目录

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

$ popd

要从目录中删除目录,请使用popd +#popd -# ,在这种情况下,我们将键入以下命令来删除〜/ Documents

$ popd +1
popd  - 从Stack移除目录

popd - 从Stack移除目录

还可以查看: Fasd - 提供快速访问文件和目录的命令行工具

在本教程中,我们解释了用于高效导航目录结构的“ pushd ”和“ popd ”命令。 通过下面的反馈表单分享您对这篇文章的想法。