shell命令:pushd、popd、dirs命令

pushd和popd命令是操作目录栈,dirs命令是查看目录栈。

dirs命令:查看现在目录栈元素

root@VM-0-2-ubuntu:/home# dirs
/home /
root@VM-0-2-ubuntu:/home# dirs -v  # 按索引列出
 0 /home
 1 /

目录栈的概念:

存放一个或多个目录,栈中至少要有一个元素。
栈顶元素永远是当前目录:使用cd命令切换目录会改变目录栈的栈顶元素,用pushd或popd改变栈顶元素会切换目录。

root@VM-0-2-ubuntu:~# dirs
~
root@VM-0-2-ubuntu:~# cd /
root@VM-0-2-ubuntu:/# dirs
/

popd命令:将栈顶元素删除

同时会改变当前目录(因为改变了栈顶元素),且会列出改变后的目录栈内容。

root@VM-0-2-ubuntu:/etc# popd
/home /
root@VM-0-2-ubuntu:/home# popd
/
root@VM-0-2-ubuntu:/# popd
-su: popd: directory stack empty

加参数的:

# 注意下面的N是数字,n是字母n参数

popd +N  # 删除栈中(从左边数)第N个元素,由0开始计。
popd -N  # 删除栈中(从右边数)第N个元素,由0开始计。
pop -n # 不改变当前目录(也就是不改变栈顶元素,操作除了栈顶外栈内其他元素)

# usage: pushd [-n] [+N | -N | dir]  
pushd  # 不加参数时,交换栈顶前两个元素
pushd +N  # 将栈内元素循环左移,直到将(从左边数)第N个元素移动到栈顶,由0开始计。
pushd -N  # 将栈内元素循环左移,直到将(从右边数)第N个元素移动到栈顶,由0开始计。
pushd -n dir # 将目录入栈,但不改变当前元素,即将目录插入栈中作为第二个元素。 注意-n参数要在目录之前。

转载于:https://www.cnblogs.com/xuejianbest/p/10285215.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值