【bash技巧篇】快速切换常用目录

bash快速切换常用目录

场景

你发现你需要在两个或更多个目录之间来回跳转,如果两个目录之间差别较大,反复输入冗长的路径名特别累。

解决方案

dirs命令可以查询当前的路径名的栈,pushd和popd就是对这个栈进行操作。

user@ubuntu:~$ dirs
~
user@ubuntu:~$ pushd /etc/init.d
/etc/init.d ~
user@ubuntu:/etc/init.d$ dirs -v
 0  /etc/init.d
 1  ~
user@ubuntu:/etc/init.d$ popd
~
user@ubuntu:/etc/init.d$ dirs -p
~

讨论

  • pushd就是切换到新的路径,并将新的路径压入栈,而popd是弹出栈顶路径,并切换到新的栈顶的路径。
  • pushd不接参数时就是将栈顶的两个元素相互交换,并切换到相应的路径,也可以通过cd -实现。
  • pushd -n new_dir可以实现不切换新目录,当前栈顶元素仍然不变,但仍然将新目录压入除了栈顶元素的之外的元素的顶部,即将新路径作为栈顶第二位。
  • popd -n保持当前路径和栈顶元素不变,弹出栈顶第二位的元素。
  • pushd +2就是代表将dirs得到的结果从左到右对应下标的路径移动到栈顶,其他的元素保持原来的顺序压入,如果pushd -2则是按照dirs的结果从右到左的顺序来处理。
  • popd +2和popd -2按照类似的逻辑处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值