文档章节

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

问题终结者
 问题终结者
发布于 2017/08/18 23:58
字数 686
阅读 16
收藏 0
导读 有时候,通过命令来在 Linux 文件系统导航是一件非常痛苦的事情,特别是对于一些新手。通常情况下,我们主要使用cd(改变目录)命令在 Linux 文件系统之间移动。

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

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

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

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

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

$ dirs
或
$ dirs -v

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

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

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

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

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

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

pushd-添加新目录入栈

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

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

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

$ pushd +2

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

pushd-通过数字浏览目录

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

$ pushd +1

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

pushd-通过数字浏览目录

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

$ popd

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

$ popd +1

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

popd-从栈中以移除目录

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

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

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

原文来自:http://www.linuxprobe.com/pushd-and-popd.html

本文转载自:

共有 人打赏支持
问题终结者
粉丝 18
博文 949
码字总数 149097
作品 0
运维
私信 提问
如何在Linux下环境下快速切换工作目录

在Linux命令行下,我们经常需要在一个目录下执行某些操作在跳转到另外的目录下,也就是使用我们熟悉的cd命令,基本上接触过命令行的人,第一个认识的命令都是cd,了解cd命令会对我们工作效率...

我是偶哦
2016/06/01
123
0
linux另类切换路径方式pushd和popd

pushd 切换到指定路径 popd 回到上次的目录 ====================================== pushd可以切换到后面指定的路径,顺便累积堆栈目录 堆栈:这里把pushd累积的目录称为堆栈 [root@wing e...

CrazyWing
2017/11/21
0
0
静态编译ffmpeg

静态编译ffmpeg 这两天折腾了一下完全静态编译ffmpeg,期望通过这种方式实现编译出来的ffmpeg能够在各个linux发现版上运行。进而可以延伸到编译出来完全静态的依赖ffmpeg库的应用程序,从而简...

张旭0512
2016/10/14
247
0
交叉编译OpenCV2.3.1

编译这个库真他麻烦,明明工作重点不是编译OpenCV库,但是时间就偏偏耗在这里,从昨天晚上到现在终于编译成功,说说编译的过程。 我使用的环境linux mint 不记得几了。 编译器arm-linux-gnu...

mengshige1988
2013/03/31
0
2
linux目录跳转

压入路径1 pushd dir1 压入路径2 pushd dir2 压入路径3 pushd dir3 查看压入的路径 dirs 跳到第2个路径 pushd +2 调到上一个路径 cd - 删除路径 popd +number...

memristor
2016/06/14
26
0

没有更多内容

加载失败,请刷新页面

加载更多

一次生产 CPU 100% 排查优化实践

前言 到了年底果然都不太平,最近又收到了运维报警:表示有些服务器负载非常高,让我们定位问题。 还真是想什么来什么,前些天还故意把某些服务器的负载提高(没错,老板让我写个 BUG!),不...

crossoverJie
13分钟前
3
0
Spring Cloud Alibaba Sentinel 整合 Feign 的设计实现

作者 | Spring Cloud Alibaba 高级开发工程师洛夜 来自公众号阿里巴巴中间件投稿 前段时间 Hystrix 宣布不再维护之后(Hystrix 停止开发。。。Spring Cloud 何去何从?),Feign 作为一个跟 ...

Java技术栈
29分钟前
6
0
虚拟机加密

在超融合的基础设施和虚拟化成为常态的世界里,对加密的要求越来越高,越来越迫切,IT部门需考虑的重大安全问题和方法也浮现了出来。 物理数据中心时代,采取双保险式数据安全方法是相对简单...

linuxCool
33分钟前
2
0
MySQL 主从同步

MySQL主从介绍 MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的 MySQL主从是基于binlog的,主上须开启bin...

野雪球
45分钟前
1
0
OSChina 周一乱弹 —— 温柔的人应该这样

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @clouddyy :#每日一歌# 《フィクション-sumika》 《フィクション-sumika》 手机党少年们想听歌,请使劲儿戳(这里) 假期时间干嘛去, @for...

小小编辑
今天
482
9

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部