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

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

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

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

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

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

pushdpopd 命令根据 ‘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-从栈中以移除目录

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


作者简介:

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中国 荣誉推出

相关内容

原创 ...
外出时,用手机付款、乘车、导航已经成为消费者日常,大屏AI手机荣耀...
2025-08-05 17:13:01
国内有哪些AI工具导航网站...
随着人工智能技术的快速发展,AI工具如雨后春笋般涌现,为用户在众多...
2025-08-04 18:43:17
阿里巴巴将发布夸克AI眼镜
每经AI快讯,7月26日,2025世界人工智能大会开幕首日,记者了...
2025-07-26 18:43:19
夸克 AI 眼镜首次亮相,...
官宣!阿里巴巴正式预告首款自研 AI 眼镜,最快年内发布,支持高德...
2025-07-26 18:42:34
苹果联合哥伦比亚大学开发A...
IT之家 7 月 8 日消息,苹果与哥伦比亚大学的研究团队开发出了...
2025-07-08 09:43:38
【CMake入门教程】CM...
CMake教程专栏文章列表 【实例篇】01.第一个程序【实例篇】0...
2025-06-01 10:01:50

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...