dirs、pushd、popd

1、dirs

显示当前目录栈中的所有记录

语法

(1)格式:dirs [-clpv] [+n] [-n]
(2)选项
-c 删除目录栈中的所有记录
-l 以完整格式显示
-p 一个目录一行的方式显示
-v 每行一个目录来显示目录栈的内容,每个目录前加上的编号
+N 显示从左到右的第n个目录,数字从0开始
-N 显示从右到左的第n个日录,数字从0开始
注意:dirs始终显示当然目录, 再是堆栈中的内容;即使目录堆栈为空, dirs命令仍然只显示当然目录

2、pushd

pushd命令常用于将目录加入到栈中,加入记录到目录栈顶部,并切换到该目录;若pushd命令不加任何参数,则会将位于记录栈最上面的2个目录对换位置

语法

(1)格式:pushd [目录 | -N | +N] [-n]
(2)选项
目录 将该目录加入到栈顶,并执行"cd 目录",切换到该目录
+N 将第N个目录移至栈顶(从左边数起,数字从0开始)
-N 将第N个目录移至栈顶(从右边数起,数字从0开始)
-n 将目录入栈时,不切换目录

3、popd

popd用于删除目录栈中的记录;如果popd命令不加任何参数,则会先删除目录栈最上面的记录,然后切换到删除过后的目录栈中的最上面的目录

语法

(1)格式:popd [-N | +N] [-n]
(2)选项
+N 将第N个目录删除(从左边数起,数字从0开始)
-N 将第N个目录删除(从右边数起,数字从0开始)
-n 将目录出栈时,不切换目录

4、示例

当前我再test的文件夹下面

当前目录下有三个子文件夹

当前我使用dirs命令

我依次将子目录加入目录栈中

pushd ~/Desktop/test/d_1
pushd ~/Desktop/test/d_2 
pushd ~/Desktop/test/d_3 


当前在
现在

pushd -2

文件目录栈顺序变成

依次向前移动,第一个文件目录去了最后一个,目录跳转到之前目录结构的第二个。
现在尝试popd

弹出当前目录栈的一个(删除),目录跳转文件目录第二个

posted @ 2020-12-29 14:48  cyssmile  阅读(232)  评论(0编辑  收藏  举报