zoukankan      html  css  js  c++  java
  • 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”来操作目录栈就介绍到这里。

  • 相关阅读:
    重构与反思-<重构代码的7个阶段>有感
    Unity 自定义"=="操作符 [翻译来源blogs.unity3d,2014/05]
    Unity UGUI Button 无法点击问题一例
    [Lua性能] 小试验一例
    C# 循环中 直接索引 VS 缓存索引 性能测试
    Lua table直接索引VS缓存索引性能测试小示例
    大型网站架构系列:负载均衡详解(1)
    大型网站架构系列:电商网站架构案例(3)
    大型网站架构系列:电商网站架构案例(2)
    大型分布式网站架构技术总结
  • 原文地址:https://www.cnblogs.com/wajika/p/6506521.html
Copyright © 2011-2022 走看看