主页 > 知识库 > linux shell之pushd、popd和dirs的使用讲解

linux shell之pushd、popd和dirs的使用讲解

热门标签:Linux服务器 AI电销 铁路电话系统 呼叫中心市场需求 百度竞价排名 地方门户网站 服务外包 网站排名优化

1 问题

我们有时候需要保存多个路径,上下键切换不方便,用cd-只能到上个目录,我们可以用dirs和pushd和popd

2 dirs、pushd、popd

  • dirs: 这个命令显示栈里面所有的路径,一定会包含当前路径,常用参数如下
  • dirs -v 显示栈里面的所有路径和下标,通过下标,我们可以用pushd +下标到这个目录,然后popd+下标把这个路径在栈里面弹出来,
  • dirs -c 清除栈里所有路径,但是当前路径不会删除
  • pushd:我们可以添加目录到栈(dirs)里面,比如添加当前目录pushd .  然后如果需要到栈里面具体哪个路径的话我们可以pushd +下标,如果是-下标的话,我们是从栈底算起
  • popd:我们可以弹出栈的最上面的一个路径,我们也可以popd +n弹出栈里面指定的具体路径,如果是-下标的话,我们是从栈底算起

3 使用过程

比如我们在当前目录下新建立4个文件夹dir1、dir2、dir3、dir4

我们cd到dir1里面去,然后把当前路径再添加进去pushd .

我们cd到dir2里面去,然后把当前路径再添加进去pushd .

我们cd到dir3里面去,然后把当前路径再添加进去pushd .

我们cd到dir4里面去,然后把当前路径再添加进去pushd .

我们再查看dirs -v

 ~/Desktop/linux/dabian/shell/cat/push/dir3
 ~/Desktop/linux/dabian/shell/cat/push/dir3
 ~/Desktop/linux/dabian/shell/cat/push/dir4
 ~/Desktop/linux/dabian/shell/cat/push/dir2
 ~/Desktop/linux/dabian/shell/cat/push/dir1

很明显当前目录是dir3,比如我们现在要去dir2,我们直接执行pushd +3  再执行dirs -v看下

 ~/Desktop/linux/dabian/shell/cat/push/dir2
 ~/Desktop/linux/dabian/shell/cat/push/dir1
 ~/Desktop/linux/dabian/shell/cat/push/dir3
 ~/Desktop/linux/dabian/shell/cat/push/dir3
 ~/Desktop/linux/dabian/shell/cat/push/dir4

很明显我们可以看到当前目录是dir2

比如我们执行下popd,弹出最顶层的那个,目录会切换到最dir1,我们再看下dirs -v

 ~/Desktop/linux/dabian/shell/cat/push/dir1
 ~/Desktop/linux/dabian/shell/cat/push/dir3
 ~/Desktop/linux/dabian/shell/cat/push/dir3
 ~/Desktop/linux/dabian/shell/cat/push/dir4

然后我们删除dir4看下,popd +4,然后我们再dirs -v看下

 ~/Desktop/linux/dabian/shell/cat/push/dir1
 ~/Desktop/linux/dabian/shell/cat/push/dir3
 ~/Desktop/linux/dabian/shell/cat/push/dir3

很明显当前目录在dir1,我们切换到dir3里面去,pushd +2 然后dirs -v看下

 ~/Desktop/linux/dabian/shell/cat/push/dir3
 ~/Desktop/linux/dabian/shell/cat/push/dir1
 ~/Desktop/linux/dabian/shell/cat/push/dir3

可以看到到了dir3这个目录了,我们再清除所有的栈里面的路径dirs -c,然后我们再dirs看下

~/Desktop/linux/dabian/shell/cat/push/dir3

在当前目录了,没毛病。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

您可能感兴趣的文章:
  • Shell中exit和return的区别讲解
  • 在Shell脚本中调用另一个脚本的三种方式讲解
  • 使用shell脚本来给mysql加索引的方法
  • 干掉一堆mysql数据库,仅需这样一个shell脚本(推荐)
  • linux shell之通过标识测试文件系统属性的方法示例
  • linux shell中if的各种判断
  • linux shell之控制台打印各种颜色字体和背景的实现方法
  • shell脚本实现监控某个进程意外停止后拉起进程
  • 使用shell脚本每天对MySQL多个数据库自动备份的讲解
  • 使用shell来发tcp包的方法

标签:兰州 崇左 铜川 湖南 仙桃 衡水 湘潭 黄山

巨人网络通讯声明:本文标题《linux shell之pushd、popd和dirs的使用讲解》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266