linux切换目录出来cd,你还知道什么?

时间:2021-05-30 12:19:42

在多个很深的目录中来回切换时使用:

bash内建的命令,pushd, popd,dirs

创建实验目录

[root@linux-node100 /]# mkdir tmp/{aa,bb,cc,dd}

使用pushd命令,记住我当前的位置,然后到这个地方去。

[root@linux-node100 /]# pushd /tmp/aa
/tmp/aa /
[root@linux-node100 aa]# pushd /tmp/bb
/tmp/bb /tmp/aa /
[root@linux-node100 bb]# pushd /tmp/cc
/tmp/cc /tmp/bb /tmp/aa /
[root@linux-node100 cc]# pushd /tmp/dd
/tmp/dd /tmp/cc /tmp/bb /tmp/aa /

使用dirs命令,查看这个列表

[root@linux-node100 dd]# dirs
/tmp/dd /tmp/cc /tmp/bb /tmp/aa /
[root@linux-node100 dd]# dirs -v
 0  /tmp/dd
 1  /tmp/cc
 2  /tmp/bb
 3  /tmp/aa
 4  /

使用popd,把列表中的某个目录删除

[root@linux-node100 dd]# popd +3

[root@linux-node100 dd]# dirs -v

0  /tmp/dd
 1  /tmp/cc
 2  /tmp/bb
 3  /

 

 

多个目录之间切换   用 pushd +n即可

   说明:
   n是一个数字,有此参数时,是切换到堆栈中的第n个目录,并把此目录以堆栈循环的方式推到堆栈的顶部
   需要注意: 堆栈从第0个开始数起

pushd和popd都可以只影响堆栈而不切换目录   用 -n参数即可

dirs -c可以清空目录堆栈