使用 pushd 和 popd 实现快速切换目录

在Linux环境中,通过pushd和popd命令可以高效地在多个路径间切换,这两个命令利用路径栈(LIFO结构)保存目录历史。用户可以使用pushd压入新路径并切换,用dirs查看栈内路径,用popd切换回之前目录或删除栈中节点。这种方式极大地提高了频繁切换目录的工作效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        在Linux下,需要切换路径时,习惯的方案是制并粘贴路径,然后使用 cd命令。但是,如果需要在多个路径间来回切换,这种方法的效率就变得极为低下,时间都耗费在路径的复制粘贴上了。

        其实,有个简便快捷的方式。就是利用pushd 和 popd 命令切换目录。一般情况下,Bash和其他shell都支持使用 pushd 和 popd 命令切换目录。 这两个命令会创建一个路径栈,它是一个保存了已访问目录的LIFO列表。

pushd

  • 压入并切换路径:
    pushd /var/
    现在栈中包含两个节点:/var/ ~,当前目录为 /var/
  • 再压入下一个目录路径
    pushd /usr/src 
    现在栈中包含三个节点:/usr/src /var/ ~,当前目录为/usr/src
  • 再压入一个目录路径
    pushd /etc/

    现在栈中包含四个节点:/etc /usr/src /var/ ~,当前目录为/etc

    你可以根据自己的需要压入更多的路径。但是,节点多了,记不住,怎么办?可以用dirs命令

  • 查看目录栈里的内容

    dirs

     或
     

    dirs -v

  • 切换路径 
    当你想切换到栈中任意一个路径时,只需要上面的ID就可以,比如说,切换到~:
     

    pushd +3

    注意是切换后,ID也是随着变化的:

  • 删除栈中节点 
     

    popd

    不带参数删除栈顶节点,并自动切换到下一个目录节点中,也可以指定ID,这时会删除ID指定的节点,并切换到ID的后续节点路径下
     

    popd +2

     


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值