在命令行中使用pushd和popd进行快速切换目录

当频繁的切换三个或三个以上的目录的时候,可以使用pushd命令。每次使用目录路径被存储在栈中,然后用pushd和popd操作在目录之间切换。

例如:

[root@gameserver1 ~]# pushd /data/game/
/data/game ~
[root@gameserver1 game]# pwd
/data/game

[root@gameserver1 game]# pushd /var/log/nginx/
/var/log/nginx /data/game ~
[root@gameserver1 nginx]# pwd
/var/log/nginx

[root@gameserver1 nginx]# pushd /etc/my.cnf.d/
/etc/my.cnf.d /var/log/nginx /data/game ~
[root@gameserver1 my.cnf.d]# pwd
/etc/my.cnf.d

  以上三个目录切换的时候我采用的pushd的方式切换,使用下面的命令来查看栈里存储的内容:

[root@gameserver1 my.cnf.d]# dirs
/etc/my.cnf.d /var/log/nginx /data/game ~
      0            1             2

      当你想切换到列表中的任意一个路径的时候,将每条路径从0到n进行编号,然后使用你希望切换到的路径编号,例如:

[root@gameserver1 my.cnf.d]# pushd +1
/var/log/nginx /data/game ~ /etc/my.cnf.d
[root@gameserver1 nginx]# pwd
/var/log/nginx

  然后就切换到/var/log/nginx目录下了

 要删除最后添加的路径并把当前目录更改为上一级目录,可以使用以下命令:

/var/log/nginx /data/game ~ /etc/my.cnf.d
[root@gameserver1 nginx]# popd 
/data/game ~ /etc/my.cnf.d

 使用popd +num可以从列表中移除特定的路径,num是从左到右,从0到n开始计数的。

 

但如果只有两个目录的时候,还有更便捷的方法:cd - 

[root@gameserver1 game]# cd /var/www
[root@gameserver1 www]# cd /etc/nginx/
[root@gameserver1 nginx]# cd -
/var/www
[root@gameserver1 www]# cd -
/etc/nginx
[root@gameserver1 nginx]# cd -
/var/www

  

 

 

posted @ 2020-02-10 18:23  江戸川のコナン  阅读(212)  评论(0编辑  收藏  举报
……