【Bash百宝箱】shell目录栈(dirs、pushd、popd)

在shell中,目录栈是一组最近访问过的目录,使用内建命令dirs、pushd、popd进行管理。dirs命令可以显示目录栈的内容,pushd命令可以把目录压入目录栈、更改当前目录,popd命令可以从目录栈中移除目录、更改当前目录,下面对这三个命令的用法作个介绍。

1、dirs

dirs [-clpv] [+n] [-n]

dirs命令可以列出当前目录栈的内容,用pushd命令添加目录,popd命令删除目录。

+n    显示从零开始的第n个目录,从目录栈顶开始计数。
-n    显示从零开始的第n个目录,从目录栈底开始计数。
-c    删除目录栈中所有目录。
-l     显示目录的长列表,默认的列表会用波浪号来表示主目录。
-p    列出目录时每个目录占一行。
-v    列出目录时每个目录占一行,且每行前面都显示这个目录在栈中的位置。

2、pushd

pushd [-n] [+N] [-N]
pushd [-n] [dir]

pushd命令在目录栈的顶端保存目录dir并进入该目录中,如果没有参数,则交换栈顶的两个目录。

-n    在目录栈中添加目录时不按常规改变工作目录,而只对目录栈进行操作。
+N    轮转目录栈,把第n个目录移到栈顶, 从目录栈顶开始计数。
-N   轮转目录栈,把第n个目录移到栈顶, 从目录栈底开始计数。
dir    把目录dir加入到栈顶,并进入这个目录。

3、popd

popd [-n] [+N] [-N]

popd命令没有参数时,删除目录栈中的栈顶目录,并进入到新的栈顶目录。
+N 删除从零开始的第N个目录,从目录栈顶开始计数。
-N 删除从零开始的第N个目录,从目录栈底开始计数。
-n 在目录栈中删除目录时,禁止改变工作目录,只操纵目录栈。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值