Linux命令:pushd, poped介绍

在linux下用过命令操作的人都知道,目录切换用cd,在频繁在两个目录切换可以用 cd -

cd -为什么能返回到上一次目录?

- 在此处等同于 $OLDPWD,保存了bash所记录的前一个目录,cd - 和cd $OLDPWD效果一样

 

$:cd work/

~/work$:cd -

$:

$:cd -

~/work$:

这样只能在两个目录中切换,那如果需要再多个目录中切换怎么办?一直cd cd cd么,

这个时候pushd、popd是个好选择 

pushd:把某目录压入栈保存并切换到该目录(方法和程序的出入栈一样)

popd:出栈,删掉该最近的目录

dirs:列出当前堆栈保存的目录列表

 

看个例子一目了然

hancan@hancan-virtual-machine:~$ pushd test/dir1/
~/test/dir1 ~
hancan@hancan-virtual-machine:~/test/dir1$ dirs -v
 0  ~/test/dir1
 1  ~
hancan@hancan-virtual-machine:~/test/dir1$ pushd /etc/
/etc ~/test/dir1 ~
hancan@hancan-virtual-machine:/etc$ dirs -v
 0  /etc
 1  ~/test/dir1
 2  ~
hancan@hancan-virtual-machine:/etc$ pushd ~/Music/
~/Music /etc ~/test/dir1 ~
hancan@hancan-virtual-machine:~/Music$ dirs -v
 0  ~/Music
 1  /etc
 2  ~/test/dir1
 3  ~
hancan@hancan-virtual-machine:~/Music$ pushd +2       //切换到第2个目录,即dir1
~/test/dir1 ~ ~/Music /etc
hancan@hancan-virtual-machine:~/test/dir1$ dirs -v
 0  ~/test/dir1
 1  ~
 2  ~/Music
 3  /etc
hancan@hancan-virtual-machine:~/test/dir1$ popd +3  //弹出第3个目录
~/test/dir1 ~ ~/Music
hancan@hancan-virtual-machine:~/test/dir1$ dirs -v
 0  ~/test/dir1
 1  ~
 2  ~/Music

hancan@hancan-virtual-machine:~/test/dir1$ popd   //不加参数则弹出最近的目录
~ ~/Music

dirs -c 也可以清空目录堆栈 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值