Linux命令:用“dirs”、“pushd”、“popd”来操作目录栈

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

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

* 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”来操作目录栈就介绍到这里。

【编辑推荐】

  1. Linux中history历史命令使用方法详解
  2. Linux下使用mke2fsk格式化分区的方法
  3. Ubuntu 11.10 利用终端环境备份还原
责任编辑:赵宁宁
相关推荐

2021-06-22 10:30:42

Linuxpushdpopd

2009-07-31 17:21:28

linux cd命令linux cd命令详Pushd

2009-10-27 13:10:49

linux cd命令

2014-03-19 19:46:43

Linuxmkdir 命令

2009-07-31 16:34:44

linux cd命令linux cd命令详

2009-08-11 08:58:19

linux命令浏览网页linux命令行参数linux命令行

2017-04-05 14:10:55

Linux命令行工具技巧

2010-09-08 15:15:12

TCP IP协议栈

2010-01-11 10:05:18

Linux删除目录

2010-06-13 14:54:40

TCP IP协议栈linux

2011-01-11 14:17:29

Linux文件目录

2018-09-30 10:18:44

Linux 文件系统目录

2022-08-11 08:03:43

队列

2020-07-13 08:12:32

Linux命令浏览器

2011-03-04 10:04:31

Linux文件操作命令

2009-12-09 17:07:56

Linux命令

2009-12-14 13:07:28

Linux正常关机

2010-05-06 17:13:18

Unix命令

2022-07-18 05:59:18

Linux目录结构操作系统

2013-06-19 09:18:53

Linuxhome 目录
点赞
收藏

51CTO技术栈公众号