Linux 中的 popd 命令及示例
popd 命令用于从目录堆栈中删除目录。 popd 中的“d”代表目录,因为它将目录路径删除到堆栈中。执行此命令后,当前目录堆栈显示为以空格分隔的目录列表。每个 popd 命令后目录堆栈的大小都会减小。此目录堆栈基于后进先出 (LIFO) 原则。
popd 命令的语法:
popd [OPTIONS] [DIRECTORY]
使用 popd 命令
考虑以下目录堆栈:
#use the following command to view the directory stack
dirs -l -v
1.删除目录栈中的目录
没有任何参数,popd 命令从堆栈中删除顶级目录。删除顶级目录后,倒数第二个目录将成为当前目录。参考下图可以看出,在执行popd命令之前,当前目录是'Desktop'(因为它是栈顶目录),但执行命令后,当前目录变成了“~ ” 代表主目录,因为它在第二位。
2.从栈中删除一个目录而不改变当前目录
可以通过使用“-n”和 popd 命令来删除目录而不更改当前目录。通过使用该命令,从顶部起第二个位置的目录将被删除。
popd -n
参考下图,可以看到主目录仍然是当前目录,从顶部起第二个目录被删除。
3.从任何位置删除目录:
可以从任何位置删除目录。代表目录在目录堆栈中位置的数字参数可以与 popd 命令一起传递。
popd +N #N is the numerical parameter
popd -N #N is the numerical parameter
当使用 popd +N 时,从顶部删除第 N 个目录。当 popd -N 使用时,从底部开始的第 N 个目录被删除。
注意:如果目录堆栈中只有一个目录,则会显示错误,因为必须有一个当前工作目录。