popd

从目录堆栈中删除目录。

概要

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

主要用途

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

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

选项

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

参数

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

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

返回值

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

例子

  1. # 添加目录到堆栈,当前工作目录不变。
  2. [user2@pc ~]$ dirs
  3. ~
  4. [user2@pc ~]$ pushd -n ~/Desktop
  5. ~ ~/Desktop
  6. [user2@pc ~]$ pushd -n ~/Pictures
  7. ~ ~/Pictures ~/Desktop
  8. [user2@pc ~]$ pushd -n ~/bin
  9. ~ ~/bin ~/Pictures ~/Desktop
  10. # 从目录堆栈中删除目录,删除顶部目录时会改变当前工作目录:
  11. [user2@pc ~]$ popd -2
  12. ~ ~/Pictures ~/Desktop
  13. [user2@pc ~]$ popd +1
  14. ~ ~/Desktop
  15. [user2@pc ~]$ popd
  16. ~/Desktop
  17. [user2@pc Desktop]$
  1. # 从目录堆栈中删除目录,删除顶部目录时不会改变当前工作目录:
  2. [user2@pc ~]$ dirs
  3. ~
  4. [user2@pc ~]$ pushd -n ~/Desktop
  5. ~ ~/Desktop
  6. [user2@pc ~]$ popd -n
  7. ~
  8. [user2@pc ~]$

注意

  1. bash的目录堆栈命令包括dirs popd pushd
  2. 当前目录始终是目录堆栈的顶部。
  3. 该命令是bash内建命令,相关的帮助信息请查看help命令。

参考链接