linux 下 pushd,popd,dirs,cd- 用法

在linux操作中,我们经常会使用cd命令用于切换当前动作路径,如果不清楚具体想要访问什么路径时,一般会结合ls一步步的进行路径切换。

CD命令

其中github是目录

[root@li1544-92 github]# cd /root/jimmy/
[root@li1544-92 jimmy]# ls
github  python.py  test.log
[root@li1544-92 jimmy]# cd github/
[root@li1544-92 github]# ls
[root@li1544-92 github]# 

如果想要回到根目录则直接输入cd即可

例如:

[root@li1544-92 github]# pwd
/root/jimmy/github
[root@li1544-92 github]# cd
[root@li1544-92 ~]# pwd
/root
[root@li1544-92 ~]#

若想要回到原先的工作目录我们直接输入命令cd -即可。其中-相当于$OLDPWD.

[root@li1544-92 ~]# cd -
/root/jimmy/github
[root@li1544-92 github]# pwd
/root/jimmy/github
[root@li1544-92 github]#

cd命令便于在两个目录之间切换,而对于多个命令之间切换则需要使用pushd、popd、dirs这三个命令了,其功能分别如下:

  • pushd:
    切换到作为参数的目录,并把原目录和当前目录压入到一个虚拟的堆栈中
    如果不指定参数,则会回到前一个目录,并把堆栈中最近的两个目录作交换
  • popd:
    弹出堆栈中最近的目录
  • dirs:
    列出当前堆栈中保存的目录列表

这三个命令下标都是从0开始,可以正向操作,也可以方向操作。+n代表第nth位置,正向第一个是+0,-n代表从反方向开始,反向第一个是-0.

dirs命令

这个命令的用法如下:

dirs: usage: dirs [-clpv] [+N] [-N]

常用的参数:

  • -c clear当前目录列表
  • -v 每行打印并且显示对应的index

例如:

[root@li1544-92 github]# dirs -v
 0  ~/jimmy/github
 1  /tmp
 2  ~
 3  /usr/sbin
[root@li1544-92 github]# dirs -c
[root@li1544-92 github]# dirs
~/jimmy/github
popd [-n] [+n]

pushd [-n] [+n]

pushd命令

pushd命令是push directory命令缩写,即将目录压入目录堆栈列表,其用法有以下两种:

  • pushd [-n] [+n] 目录之间切换
  • pushd [dir] 目录压入,默认pushd压入是第0个位置

目录压入

当期目录
[root@li1544-92 tmp]# dirs -v
 0  /tmp
 
 pushd第一次
[root@li1544-92 tmp]# pushd /etc/python/
/etc/python /tmp
 pushd第二次
[root@li1544-92 python]# pushd /usr/sbin/
/usr/sbin /etc/python /tmp

经过pushd两次结果
[root@li1544-92 sbin]# dirs -v
 0  /usr/sbin
 1  /etc/python
 2  /tmp

目录切换

当前目录栈
[root@li1544-92 sbin]# dirs -v
 0  /usr/sbin
 1  /etc/python
 2  /tmp
 3  ~/jimmy

进入第2个目录(/tmp),

[root@li1544-92 sbin]# pushd +2
/tmp ~/jimmy /usr/sbin /etc/python
利用pwd验证目录切换情况
[root@li1544-92 tmp]# pwd
/tmp

进入第-0个目录(/etc/python)

[root@li1544-92 tmp]# dirs -v
 0  /tmp
 1  ~/jimmy
 2  /usr/sbin
 3  /etc/python
[root@li1544-92 tmp]# pushd -0
/etc/python /tmp ~/jimmy /usr/sbin
[root@li1544-92 python]# pwd
/etc/python

popd命令

popd命令是pop directory命令缩写,即将目录从栈中指定位置弹出,其用法如下:

  • popd [-n] [+n] 默认弹出栈顶位置

示例如下:

当前目录栈
[root@li1544-92 tmp]# dirs -v
 0  /tmp
 1  ~/jimmy
 2  /usr/sbin
 
 弹出第-1个目录(~/jimmy)
[root@li1544-92 tmp]# popd -1
/tmp /usr/sbin(剩余的目录栈)
[root@li1544-92 tmp]# dirs -v
 0  /tmp
 1  /usr/sbin
 弹出第1个目录(/usr/sbin)
[root@li1544-92 tmp]# popd +1
/tmp

好了 以上就是linux下pushd命令、popd命令、dirs命令,cd命令的主要用法了,想要印象深刻还是需要自己动手实践、实践才行,大家晚安。

参考资料:
https://blog.csdn.net/muzilanlan/article/details/45564163

你可能感兴趣的:(linux,pushd,popd,cd,-,linux,目录切换)