# popd - 从目录堆栈中删除目录
popd指令用来从shell目录堆栈中删除记录,如果没有选项,那么先删除栈顶记录,然后将当前目录切换到新的栈顶目录中。
# 主要用途
- 从目录堆栈中删除目录,如果是顶部目录被删除,那么当前工作目录会切换到新的顶部目录。
- 没有参数时,删除目录堆栈顶部。
# 适用范围
RedHat
 RHEL
 Ubuntu
 CentOS
 Debian
 Deepin
 SUSE
 openSUSE
 Fedora
 Linux Mint
 Alpine Linux
 Arch Linux
 # 语法
popd  [-n]  [+num]  [-num]
在没有参数的情况下,从堆栈中移除顶层目录,并对新的顶层目录执行CD。如果popd命令成功,也会执行dir,返回状态为0。如果遇到无效选项、目录堆栈为空、指定不存在的目录堆栈条目或目录更改失败,则popd返回false。
# 选项
+num       # 将从左起第num个目录删除,从0开始计数
-num       # 将从右起第num个目录删除,从0开始计数
-n         # 在从堆栈中删除目录时,取消目录的正常更改,以便只操作堆栈。
# 举例
删除最右面的目录
[root@localhost doc]$ dirs.           #查看目录
/home/sogrey/app/doc
[root@localhost doc]$ popd -0         #删除最右面的,成功
/home/sogrey/app
删除最左面的目录
[root@localhost doc]$ dirs.           #查看目录
/home/sogrey/app/doc
[root@localhost doc]$ popd +0        #删除最左面的,成功
/sogrey/app/doc