在 Linux 中使用 pushd 和 popd 命令来进行高效的目录导航
创始人
2024-03-01 19:52:31
0次

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

在之前的文章中,我们回顾了一个非常简单但很有用的 Linux 上的 CLI 工具,文章叫做 bd:快速返回某级父目录而不用冗余地输入 “cd ../../..”

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

推荐阅读:Autojump:快速浏览 Linux 文件系统的一个高级 cd 命令

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

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

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

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

$ dirs
或
$ dirs -v

Dirs - Display Directories in Directory

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

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

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

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

pushd - Add Directories to Stack

pushd - 添加新目录入栈

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

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

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

$ pushd +2

pushd - Directory Navigation with Number

pushd -通过数字浏览目录

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

$ pushd +1

pushd - Navigate Directory with Number

pushd -通过数字浏览目录

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

$ popd

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

$ popd +1

popd - Remove Directory from Stack

popd-从栈中以移除目录

在这篇文章中,我们阐述了 pushd 和 popd 命令,使用它们可以高效的访问目录结构。你可以通过下面的反馈表和我们分享你关于这篇文章的想法。


作者简介:

Aaron Kili 是 Linux 和 F.O.S.S 爱好者,将来的 Linux 系统管理员和网络开发人员,目前是 TecMint 的内容创作者,他喜欢用电脑工作,并坚信分享知识。


via: https://www.tecmint.com/pushd-and-popd-linux-filesystem-navigation/

作者:Aaron Kili 译者:ucasFL 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

热门资讯

“Linux 中国” 开源社区... 这是一个艰难的决定 —— 这不是调侃,而是当你真正做出改变了你十几年生活轨迹的决定时,你就会明白这个...
硬核观察 #1263 德国铁路... #1 德国铁路公司招聘 Windows for Workgroups 3.11 管理员该职位要求了解...
人工智能教程(七):Sciki... 在本系列的 上一篇文章 中,我们用 TensorFlow 构建了第一个神经网络,然后还通过 Kera...
关闭 WSL 中正在运行的 L... 以下是使用 WSL 关闭在 Windows 内运行的 Linux 系统的不同方法。你使用 WSL 在...
MX Linux 23.2 “... 最新的 MX Linux 23.2 小版本更新带来了基本的改进和新增功能。MX Linux 推出了 ...
硬核观察 #1262 网络上最... #1 网络上最古老的软件存档库之一即将关闭美国新墨西哥州立大学(NMSU)最近宣布,即将于 2024...
如何在 RHEL 上通过绑定配... 在 Linux 中,你可以根据自己的需要创建高级网络设置,如 网络绑定 Network Bondin...
Linux Matrix 消息... Matrix 用户可以升级 Fractal 6 了!Fractal 是目前 最好的 Matrix 客...
如何通过 VLC 使用字幕 使用 VLC 媒体播放器播放和管理字幕的新手指南。我是一个超级动漫迷,如果你想观看最新的剧集,那么你...
硬核观察 #1261 X 计划... #1 X 计划在奥斯汀建立内容审核总部据报道,该部门将招聘 100 名全职员工,将主要关注 CSE ...