Linux pushd 和 popd 命令示例
Pushd 和 popd 命令允许您在 Linux 和类 Unix 操作系统中使用目录堆栈。它们用于在目录堆栈中添加和删除目录。 Pushd 和 Popd 中的“d”代表目录。
堆栈的概念很简单。目录堆栈是后进先出(LIFO)队列。每次执行 popd 命令后,目录堆栈的大小都会减小。
本教程将学习如何使用 pushd 和 popd 命令来导航 Linux 目录树。
基本语法
Pushd 命令采用以下语法:
以下是如何使用 Pushd 命令的示例。
使用pushd命令添加目录
Pushd 命令用于将目录添加到目录树堆栈中。下面的命令将 Music 目录添加到堆栈中。
从下图中,Music 目录现在成为当前工作目录。
要查看目录堆栈,请运行:
当您将目录添加到堆栈时,最近添加的目录将位于堆栈的顶部。
添加新目录而不修改当前目录
当您执行pushd命令时,当前目录将更改为您指定的目录。要在保持当前目录不变的情况下添加新目录,请使用-n选项。
当您执行该命令时,该目录现在将位于堆栈中的第二个位置。
将 -n 选项与要添加的目录一起使用,如下面的语法所示。
从下图中,Pictures 目录现在位于从顶部数第二个位置。
移动到堆栈中任意位置的目录
Pushd 命令接受数字参数。它允许您导航到堆栈中的第 n 个目录。 +n选项从堆栈顶部开始,第 n 个位置的目录现在将成为当前目录。
从下图中,+2位置的目录是“Videos”目录。执行pushd后,Videos目录现在位于堆栈的顶部。
Popd 命令
popd命令将当前目录设置为最近由pushd命令存储的目录。每次调用 Pushd 命令时,都会存储一个目录。
基本语法
Popd 命令采用以下语法
删除目录堆栈中的目录
就其本身而言,popd 命令允许您删除目录堆栈顶部的目录。该命令执行后,从上数第二个目录变为当前目录。
要查看目录堆栈,请使用以下命令:
接下来,运行 popd 命令:
我们参考下图。就我而言,主目录位于目录堆栈的顶部。执行 popd 命令后,主目录将被清除,顶部目录将成为视频目录。
使用 -n 选项从堆栈中删除目录
popd 命令和 -n 选项可以删除堆栈上的目录,而不修改当前目录。
当您执行 popd -n 命令时,堆栈顶部第二个位置的目录将被删除。
参考下图,命令执行后,主目录仍位于堆栈顶部。相反,从顶部数第二个位置的目录被删除。
从任意位置删除目录
您可以删除第 n 个位置的目录。数字参数与 popd 命令一起传递。
语法:
$ popd -n
当执行popd +n命令时,栈顶第n个目录被删除。选项 -n 删除从堆栈底部开始的第 n 个位置的目录。
从下图中,我们执行了命令 popd +1。 这将删除位于堆栈顶部第一个位置的 Downloads 目录。然后,每个目录在堆栈中向上移动一位。
选项 -0 允许您删除堆栈上的最后一个目录。运行以下命令:
从下图中,桌面目录已从堆栈中删除。
结论
正如您所观察到的,pushd 和 popd 命令对于从一个目录导航到另一个目录非常有用。当您习惯了该命令后,您将能够以更快、更有效的方式在 Linux 中浏览目录。