zoukankan      html  css  js  c++  java
  • 在 Linux 中使用 pushd 和 popd 命令来进行目录导航

      看到别人写的脚本中有pushd 和popd 。 查资料学习了一下。

           自己的总结如下:

           目录压入栈和调到指定目录都使用pushd。   

           popd 用于删除指定的目录,不加参数时,弹出栈顶元素,当前目录会变化。 popd 加参数时,会从栈中删除对应的目录。

           pushd不加参数时,栈内的第0个目录和第1个目录会互换位置。 pushd加参数时,当前目录切换为栈中对应的目录。

           +n参数从栈顶位置,也就是0开始,-n参数刚好相反。

          原文地址:https://linux.cn/article-8558-1.html

          我们将讨论两个相关的命令:pushd 和 popd ,使用它们可以高效的浏览 Linux 目录结构。这两个命令在大多数 shell ,比如 bash、tcsh 中都存在。

      pushd 和 popd 命令根据 ‘LIFO’(后进先出)原则工作。在这个原则之下,只有两个操作是允许的:把一个目录压入栈,以及把一个目录弹出栈。

      pushd 命令会增加一个目录到栈顶,而 popd 命令会从栈顶移除一个目录。

      为了显示目录栈中(或历史)的目录,我们可以使用下面展示的 dirs 命令:

      pushd 命令:将一个目录路径添加到/放入目录栈(历史)中,之后,你可以浏览位于目录栈(历史)中的任意目录。当把一个新的目录入栈时,会打印出当前位于栈中的所有目录。

      下面这些命令会展示这个命令是如何工作的:

      根据上面输出的目录栈可知(目录索引按倒序排列):

    • /var/log 是目录栈中的第五个目录,索引为 0
    • ~/Desktop/ 是第四个,索引为 1
    • ~/Document/ 是第三个,索引为 2
    • /var/www/html 是第二个,索引为 3
    • ~ 是第一个,索引为 4

      另外,我们也可以使用目录索引的形式 pushd +# 或 pushd -# 来添加目录入栈。为了进入目录 ~/Documents ,我们可以输入:

      

          注意,经过上一步操作以后,栈的内容便发生了改变。所以,要从上面的例子中进入目录 /var/www/html ,我们应该使用下面的命令:pushd +1

     

      popd 命令-从栈顶或历史中移除一个目录。为了列出目录栈中的所有目录,只需输入: popd

      为了从目录栈中移除一个目录,我们可以使用 popd +# 或 popd -# 命令,在这时,我们需要输入下面的命令来移除目录 ~/Documents :pop +1

         

  • 相关阅读:
    实例
    LR接口测试---webservices
    LR常用函数整理
    Codeforces Round #639 (Div. 2) A. Puzzle Pieces
    Codeforces Round #640 (Div. 4)全部七题
    POJ3177 Redundant Paths(e-DCC+缩点)
    洛谷P3469 [POI2008]BLO-Blockade(割点)
    洛谷P3275 [SCOI2011]糖果(缩点+拓扑序DP)
    POJ1236 Network of Schools(强连通分量)
    P3387 【模板】缩点(Tarjan求强连通分量)
  • 原文地址:https://www.cnblogs.com/lnlvinso/p/13374858.html
Copyright © 2011-2022 走看看