• Linux命令:用“dirs”、“pushd”、“popd”来操作目录栈


    你可以将目录压入目录栈,也可以稍后将该目录弹出。在随后的示例中,将会用到以下三个命令:

    * dirs:显示目录栈

    * pushd:将目录压入目录栈

    * popd:将目录弹出目录栈

    dirs命令显示当前所在目录及目录栈中的内容。即使目录栈为空,dirs也会显示当前所在的目录,示例如下:

    1
    2
    3
    4
    5
    6
    # popd
    -bash: popd: directory stack empty
    # dirs
    ~
    # pwd
    /home/ramesh

    如何使用pushd和popd呢?让我们先创建一些临时的目录然后把他们压入目录堆栈中去。

    1
    2
    3
    4
    5
    6
    # mkdir /tmp/dir1
    # mkdir /tmp/dir2
    # mkdir /tmp/dir3
    # mkdir /tmp/dir4
    # cd /tmp/dir1
    # pushd .
    1
    2
    3
    4
    5
    6
    7
    8
    9
    # cd /tmp/dir2
    # pushd .
    # cd /tmp/dir3
    # pushd .
    # cd /tmp/dir4
    # pushd .
    # dirs
    /tmp/dir4 /tmp/dir4 /tmp/dir3 /tmp/dir2 /tmp/dir1
    [注:显示的第一个目录名总会是当前所在的目录,而不是显式压入堆栈里的内容]

    此时,目录堆栈就包含以下内容:

    1
    2
    3
    4
    /tmp/dir4
    /tmp/dir3
    /tmp/dir2
    /tmp/dir1

    最后被压入的目录会在堆栈的顶端。当你执行“popd”,系统就会跳转到栈顶的目录中,并且从堆栈中把它清除掉。正如上面所展示的,最后压入堆栈的是/tmp/dir4,所以当进行一次popd时,就会跳转到/tmp/dir4目录下同时从堆栈中将它移除。如下所示:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    # popd
    # pwd
    /tmp/dir4
    [注:执行完上popd命令之后,目录栈包括以下目录
    /tmp/dir3
    /tmp/dir2
    /tmp/dir1]
    # popd
    # pwd
    /tmp/dir3
    [注:执行完上popd命令之后,目录栈包括以下目录
    /tmp/dir2
    /tmp/dir1]
    # popd
    # pwd
    /tmp/dir2
    [注:执行完上popd命令之后,目录栈包括以下目录 /tmp/dir1]
    # popd
    # pwd
    /tmp/dir1
    [注:执行完上popd命令之后,目录栈包括以下目录]
    # popd
    -bash: popd: directory stack empty

    用“dirs”、“pushd”、“popd”来操作目录栈就介绍到这里。

  • 相关阅读:
    The Clollections Hierarchy 集合层次结构
    js 点点滴滴
    jquery select 操作
    jqueryaddoptionselect
    两个表的更新、表的复制
    备份数据库 还原数据库
    Stack递归反转与递归排序
    Stack两栈实现队列
    Stack设计Min函数栈(用一个栈或者用两个栈模拟)
    Queue两队列实现栈
  • 原文地址:https://www.cnblogs.com/wajika/p/6506521.html
Copyright © 2020-2023  润新知