你可以将目录压入目录栈,也可以稍后将该目录弹出。在随后的示例中,将会用到以下三个命令:

* dirs:显示目录栈

* pushd:将目录压入目录栈

* popd:将目录弹出目录栈

dirs命令显示当前所在目录及目录栈中的内容。即使目录栈为空,dirs也会显示当前所在的目录,示例如下:

1
2
3
4
5
6
# popd
-bash: popd: directory stack empty
# dirs
~
# pwd
/home/ramesh

如何使用pushd和popd呢?让我们先创建一些临时的目录然后把他们压入目录堆栈中去。

1
2
3
4
5
6
# mkdir /tmp/dir1
# mkdir /tmp/dir2
# mkdir /tmp/dir3
# mkdir /tmp/dir4
# cd /tmp/dir1
# pushd .
1
2
3
4
5
6
7
8
9
# cd /tmp/dir2
# pushd .
# cd /tmp/dir3
# pushd .
# cd /tmp/dir4
# pushd .
# dirs
/tmp/dir4 /tmp/dir4 /tmp/dir3 /tmp/dir2 /tmp/dir1
[注:显示的第一个目录名总会是当前所在的目录,而不是显式压入堆栈里的内容]

此时,目录堆栈就包含以下内容:

1
2
3
4
/tmp/dir4
/tmp/dir3
/tmp/dir2
/tmp/dir1

最后被压入的目录会在堆栈的顶端。当你执行“popd”,系统就会跳转到栈顶的目录中,并且从堆栈中把它清除掉。正如上面所展示的,最后压入堆栈的是/tmp/dir4,所以当进行一次popd时,就会跳转到/tmp/dir4目录下同时从堆栈中将它移除。如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# popd
# pwd
/tmp/dir4
[注:执行完上popd命令之后,目录栈包括以下目录
/tmp/dir3
/tmp/dir2
/tmp/dir1]
# popd
# pwd
/tmp/dir3
[注:执行完上popd命令之后,目录栈包括以下目录
/tmp/dir2
/tmp/dir1]
# popd
# pwd
/tmp/dir2
[注:执行完上popd命令之后,目录栈包括以下目录 /tmp/dir1]
# popd
# pwd
/tmp/dir1
[注:执行完上popd命令之后,目录栈包括以下目录]
# popd
-bash: popd: directory stack empty

用“dirs”、“pushd”、“popd”来操作目录栈就介绍到这里。

Linux命令:用“dirs”、“pushd”、“popd”来操作目录栈的更多相关文章

  1. Linux命令整理,用户管理,用户组管理,系统管理,目录管理常用命令

    知识点梳理 Linux课堂笔记 学习目标 能够知道什么是Linux系统以及它的应用场景 能够独立完成安装VMware虚拟机和网络配置 能够独立完成安装CentOS以及远程终端SecureCRT 能够熟 ...

  2. linux命令学习(一)—— 文件和目录管理命令

    首先需要知道的是命令提示符 [root@localhost ~] # 当前登录用户(root) 主机名(localhost) 当前所在目录(家目录) 超级用户提示符(#) 普通用户提示符($) 1.1 ...

  3. Linux命令(十) 在文件或目录之间创建链接 ln

    命令简介 ln 命令用于连接文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则会把前面指定的所有文件或目录复制到该目录中.若同时指定多个文件或目录,且最后的目的地是一个 ...

  4. Linux命令之sed批量替换字符串操作

    使用sed命令可以进行字符串的批量替换操作,以节省大量的时间及人力: 使用的格式如下: sed -i "s/oldstring/newstring/g" `grep oldstri ...

  5. Linux命令应用大词典-第4章 目录和文件操作

    4.1 pwd:显示(打印)当前工作目录路径 4.2 cd:更改工作目录路径 4.3 ls: 列出目录和文件信息: 4.4 dir:列出目录或文件信息: 4.5 dirs:显示目录列表: 4.6 to ...

  6. linux命令之文件、文件夹操作

    文件 创建文件 touch fileName 拷贝文件 基本形式: cp source destination tips: 1) 将文件拷贝纸当前目录 cp source . 2)常用参数 -R -r ...

  7. Linux命令(十四) 查看工作目录文件 ls

    目录 1.命令简介 2.常用参数介绍 3.实例 4.直达底部 命令简介 ls 命令是 Linux 下最常用的命令. ls 就是 list 的缩写.默认情况下 ls 命令用来打印出当前目录的清单, 如果 ...

  8. Linux命令(七)查找文件或目录 find

    find 命令可以根据给定的路劲和表达式查找指定的文件或目录.find 参数选项很多,并且支持正则表达式,功能强大. 和管道结合使用可以实现复杂的功能,是系统管理和普通用户必须掌握的命令. 一.fin ...

  9. Linux命令:cp (copy)复制文件或目录

    复制文件,只有源文件较目的文件的修改时间新时,才复制文件     cp -u -v file1 file2 .将文件file1复制成文件file2     cp file1 file2 .采用交互方式 ...

随机推荐

  1. GIT 如何在不提交Commit的情况下切换分支

    最近遇到一个问题,事情是这样子的,刚刚接到客户说他的项目有问题,于是就打开本地的源码查看经过排查确定了问题,于是就开始进行修正工作 将问题修复好准备提交到git的时候发现当前的分支是不对的,但问题是我 ...

  2. This is a bug I believe, and it took me 2-3 days to figure it out. Please do the following to get it working,

    This is a bug I believe, and it took me 2-3 days to figure it out. Please do the following to get it ...

  3. maven 管理

    http://www.cnblogs.com/qq78292959/p/3711501.html

  4. asp.net序列化

    JsonHelp.cs using System.IO; using System.Text; using System.Runtime.Serialization.Json; namespace W ...

  5. SqlServer和Mysql插入记录前判断是否存在,存在则插入,不存在则修改。

    SqlServer中是这样: ) ,@title,@searchKeys,@serviceIntervalSecond,@sleepMillisecondPerSearch) ELSE UPDATE ...

  6. Java 通过 jacob调用OCX控件

    安装好要调用的ocx驱动,并通过注册表查询其对应的clsid. 下载jacob-1.18解压,将jacob-1.18-x86.dll文件复制到D:\Program Files (x86)\Java\j ...

  7. POI3.10读取Excel模板填充数据后生成新的Excel文件

    private final DecimalFormat df = new DecimalFormat("#0.00"); public void test(){ String fi ...

  8. WebRTC互联网实时通信

    muaz-khan/WebRTC-Experiment WebRTC, WebRTC and WebRTC. Everything here is all about WebRTC!! Updated ...

  9. Maven的坐标与资源库

    在Maven世界中,每个工程都有它唯一的 组织名.模块名.版本 ,这三个就是maven项目的坐标,一个maven工程可以打包成jar.war.pom等形式,但是它们都是拥有上述三个坐标的.我们在项目过 ...

  10. cocos2d-js 入门 (主要是HTML5)

    cocos2d-js是cocos2d-x的JavaScript版本,真正跨全平台的游戏引擎,采用原生JavaScript语言,可发布到包括Web平台,iOS,Android,Windows Phone ...