pushd 和 popd:对目录栈进行操作

介绍

目录栈是保存目录的栈结构,当前目录处于该栈结构的顶端,可使用dirs查看目录栈的目录。pushd命令可添加一个目录到目录栈,popd命令会清除目录栈中的一个目录。

  • dirs
    dirs有三个参数:
    -p 每行显示一条栈结构中的目录
    -v 每行展示一条栈结构中的目录及其index
    -c 清空目录栈中除当前目录的其他目录

  • pushd
    1)pushd后面跟目录路径,会切换到该目录并将其添加到目录栈,同时显示当前目录栈中的所有目录。
    2)直接执行pushd,会调换目录栈最顶端的两个目录。
    3)pushd+index值,如pushd +1表示切换到目录栈中index值为1的目录。

  • popd
    1)直接执行popd,会移除目录栈中的栈顶。
    2)popd + index,如popd +1表示删除目录栈中index值为1的目录。
    注:有时会用到pushd-index,popd-index,表示从栈底往上数。

代码示例

点击查看代码
~/biosoft/alphafold2.3$ dirs
# ~/biosoft/alphafold2.3
~/biosoft/alphafold2.3$ dirs -v
# 0  ~/biosoft/alphafold2.3
~/biosoft/alphafold2.3$ pushd database/mgnify/
# ~/biosoft/alphafold2.3/database/mgnify ~/biosoft/alphafold2.3
~/biosoft/alphafold2.3/database/mgnify$ pushd
# ~/biosoft/alphafold2.3 ~/biosoft/alphafold2.3/database/mgnify
~/biosoft/alphafold2.3$ pushd+1
# pushd+1: command not found
~/biosoft/alphafold2.3$ pushd + 1
# -bash: pushd: +: invalid number
# pushd: usage: pushd [-n] [+N | -N | dir]
~/biosoft/alphafold2.3$ pushd +1
# ~/biosoft/alphafold2.3/database/mgnify ~/biosoft/alphafold2.3
~/biosoft/alphafold2.3/database/mgnify$ popd
# ~/biosoft/alphafold2.3
posted @   yayagogogo  阅读(109)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示