使用命令 pushd 和 popd
Nilesh Katuwal
2023年1月30日
pushd
和 popd
命令在计算中与命令行目录堆栈一起操作。
Linux 和其他类 Unix 操作系统,命令 pushd
和 popd
允许你与目录堆栈交互并修改当前工作目录。尽管 pushd
和 popd
是强大而有用的命令,但它们并没有得到太多的赞赏和使用。
在 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
一旦你熟悉了 pushd
和 popd
命令并可能利用它们来构建一些别名,你将拥有一种在文件夹之间跳转的超快速方法。