在Linux中使用pushd和popd命令操作目录的用法

时间:2021-10-15 04:58:23

pushd

将目录压入目录栈,进行目录切换命令

用法:
      pushd [-n] [+N | -N | dir]

参数:

+n  切换目录,以当前目录为准,从右向左数第n个

-n  切换目录,以当前目录为准,从左向右数第n个

例:
 

复制代码

代码如下:


[root@localhost zhangy]# pushd /root


~ /home/zhangy      #这个符号~代表根home目录

复制代码

代码如下:


[root@localhost zhangy]# pushd /home/zhangy/download/


/home/zhangy/download /home/zhangy ~    #添加目录

复制代码

代码如下:


[root@localhost download]# pushd /usr/local/


/usr/local /home/zhangy/download /home/zhangy ~    #添加目录

复制代码

代码如下:


[root@localhost download]# pushd +1


/home/zhangy ~ /usr/local /home/zhangy/download

复制代码

代码如下:


[root@localhost zhangy]# #切换到了原始目录

 

复制代码

代码如下:


[root@localhost zhangy]# pushd +1


~ /usr/local /home/zhangy/download /home/zhangy  

复制代码

代码如下:

[root@localhost ~]# #切换到home目录

 

复制代码

代码如下:


[root@localhost ~]# pushd -2


/usr/local /home/zhangy/download /home/zhangy ~

复制代码

代码如下:


[root@localhost local]# #切换到了/usr/local目录

 


popd
将目录弹出目录栈

用法:
      popd [-n] [+N | -N | dir]

参数:

+n  删除pushd添加的目录,以当前目录为准,从左向右数,删除第n个

-n  删除pushd添加的目录,以当前目录为准,从右向左数,删除第n个

例:
 

复制代码

代码如下:


[root@localhost dev]# pushd /usr/


/usr /dev /home/zhangy

复制代码

代码如下:


[root@localhost usr]# popd +1 #删除了/dev


/usr /home/zhangy

复制代码

代码如下:


[root@localhost usr]# pushd /home/


/home /usr /home/zhangy               

复制代码

代码如下:


[root@localhost home]# popd -1 #删除了/usr


/home /home/zhangy