使用命令 pushd 和 popd
    
    
            Nilesh Katuwal
    2023年1月30日
    
    Linux
    Linux Command
    
 
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 命令并可能利用它们来构建一些别名,你将拥有一种在文件夹之间跳转的超快速方法。
        Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe