您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

popd

概要

popd [-n] [+N | -N]

主要用途

  • 从目录堆栈中删除目录,如果是顶部目录被删除,那么当前工作目录会切换到新的顶部目录。

  • 没有参数时,删除目录堆栈顶部。

    选项

    -n    抑制删除目录引起的当前工作目录变化。

    参数

    +N(可选):不带参数执行dirs命令显示的列表中,左起的第N个目录将被删除。(从0开始计数)

    -N(可选):不带参数执行dirs命令显示的列表中,右起的第N个目录将被删除。(从0开始计数)

    返回值

    返回成功除非提供了非法选项或执行出现错误。

    例子

    添加目录到堆栈,当前工作目录不变。

    [user2@pc ~]$ dirs

    ~

    [user2@pc ~]$ pushd -n ~/Desktop

    ~ ~/Desktop

    [user2@pc ~]$ pushd -n ~/Pictures

    ~ ~/Pictures ~/Desktop

    [user2@pc ~]$ pushd -n ~/bin

    ~ ~/bin ~/Pictures ~/Desktop

    从目录堆栈中删除目录,删除顶部目录时会改变当前工作目录:

    [user2@pc ~]$ popd -2

    ~ ~/Pictures ~/Desktop

    [user2@pc ~]$ popd +1

    ~ ~/Desktop

    [user2@pc ~]$ popd

    ~/Desktop

    [user2@pc Desktop]$

    从目录堆栈中删除目录,删除顶部目录时不会改变当前工作目录:

    [user2@pc ~]$ dirs

    ~

    [user2@pc ~]$ pushd -n ~/Desktop

    ~ ~/Desktop

    [user2@pc ~]$ popd -n

    ~

    [user2@pc ~]$

    注意

  1. bash的目录堆栈命令包括dirs popd pushd

  1. 当前目录始终是目录堆栈的顶部。

  1. 该命令是bash内建命令,相关的帮助信息请查看help命令。

    参考链接

    • [popd、pushd命令'-n'选项的行为](https://superuser.com/questions/784450/popd-and-pushd-behavior-with-n-option)