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

(编辑:jimmy 日期: 2024/11/18 浏览:2)

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