使用命令 pushd 和 popd

Nilesh Katuwal 2023年1月30日 2022年5月11日
  1. 在 Linux 中使用 pushd 命令
  2. 在 Linux 中使用 popd 命令
  3. 叠加堆栈
使用命令 pushd 和 popd

pushdpopd 命令在计算中与命令行目录堆栈一起操作。

Linux 和其他类 Unix 操作系统,命令 pushdpopd 允许你与目录堆栈交互并修改当前工作目录。尽管 pushdpopd 是强大而有用的命令,但它们并没有得到太多的赞赏和使用。

在 Linux 中使用 pushd 命令

在第一个 pushd 命令之后,堆栈中有两个条目:你的左侧目录和你拥有的目录。

pushd 命令具有以下内容:

$ pushd ~/Desktop

输出:

~/Desktop ~

终端的目录将更改为 Desktop。即,~/Desktop$

~/Desktop$ pushd ~/Music

输出:

~/Music ~/Desktop ~

现在,它已更改为音乐

$ pushd ~

输出:

~ ~/Music ~/Desktop ~

我们使用最后一个 pushd 命令返回到我们的主目录。

因此,象征我们的主目录的波浪号~ 是堆栈上的第一个和最后一个条目。这表明尽管堆栈中已经存在一个目录,但我们将为其他 pushd 命令再次添加它。

在 Linux 中使用 popd 命令

popd 命令用于从堆栈中删除目录。当我们查看目录堆栈时,我们看到 /home/user 在位置 1

我们键入以下内容将数字传递给 popd 以将其从堆栈中删除:

$ dirs -v -l

输出:

 0  /home/user
 1  /home/user/Music
 2  /home/user/Desktop
 3  /home/user
$ popd +1

输出:

~ ~/Desktop ~

/home/user 目录被删除,堆栈中它下面的所有目录都被推高一个位置。

$ popd

输出:

~/Desktop

我们将使用 popd 从堆栈中删除最顶层的目录并将其替换为第二个最目录。

现在这是你最近移出的目录,因此你已被重定向回该目录。

叠加堆栈

使用 cd 恢复旧习惯和转移目录很简单。

如果这样做,你将盖住堆栈中的第一个目录。这是不可避免的,因为第一个插槽是为当前工作目录指定的,并且没有移动。

为此,请在终端中键入以下内容:

$ dirs -v -l

输出:

0  /home/user/Desktop
$ cd ~/Music
~/Music$ dirs -v -l

输出:

0  /home/user/Music

一旦你熟悉了 pushdpopd 命令并可能利用它们来构建一些别名,你将拥有一种在文件夹之间跳转的超快速方法。

相关文章 - Linux Command