Linux shell - 目录栈操作(pushd popd dirs)
说明
- 使用shell开发一些较为复杂的系统,例如:复杂的编译系统等,可能会遇到类似需求:source 脚本后,在任意目录执行封装好的编译命令,跳转到其它目录执行相应的编译命令,编译完后再跳转回来。
- 常见的处理:使用cd命令跳转,由于初始路径可能是任意目录,不方便使用相对路径进行跳转,使用绝对路径,在跳转前使用变量记录下当前路径,最后再根据该变量跳转回来,多次跳转,操作类似于栈操作。
- 如果自己实现和封装以上操作(路径跳转的记录和管理)容易出错,其实linux上已有类似功能的命令(pushd popd dirs)。
pushd
- 作用
- pushd命令将目录加入到栈中,加入记录到目录栈顶部,并跳转到该目录;若pushd命令不加任何参数,则会将位于记录栈最上面的2个目录对换位置。
- 语法
格式:pushd [目录 | -N | +N] [-n]
目录 将该目录加入到栈顶,并执行"cd 目录",切换到该目录
+N 将第N个目录移至栈顶(从左边数起,数字从0开始)
-N 将第N个目录移至栈顶(从右边数起,数字从0开始)
-n 将目录入栈,但不切换目录
popd
- 作用
- popd用于删除目录栈中的记录;如果popd命令不加任何参数,则会先删除目录栈最上面的记录,然后切换到删除过后的目录栈中的最上面的目录。
- 语法
格式:popd [-N | +N] [-n]
+N 将第N个目录删除(从左边数起,数字从0开始)
-N 将第N个目录删除(从右边数起,数字从0开始)
-n 将目录出栈,但不切换目录
dirs
- 作用
- 显示当前目录栈中的所有记录(不带参数)
- 语法
格式:dirs [-clpv] [+n] [-n]
-c 删除目录栈中的所有记录
-l 以完整格式显示
-p 一个目录一行的方式显示
-v 每行一个目录来显示目录栈的内容,每个目录前加上的编号
+n 显示从左到右的第n个目录,数字从0开始
-n 显示从右到左的第n个日录,数字从0开始
- 注意:dirs始终显示当然目录,再是堆栈中的内容;如果目录堆栈为空, dirs命令仍然会显示当然目录。
Linux shell - 目录栈操作(pushd popd dirs)相关推荐
- Linux: 让切换目录更方便: pushd,popd,dirs,cd -
一,为何要使用这几个命令? 可能大家会有疑问,为何要使用这几个命令, 难道用cd不就可以切换目录了吗? 没错,使用cd就可以切换到需要访问的目录, 但是有时会是一个路径很长,层次很多的 ...
- linux怎么连续退回上次目录?cd - 只能在两个目录间来回切换(autojump)(pushd popd dirs)
方法1 GitHub 搜索 autojump ,可能会满足你的需求. 参考文章:linux怎么连续退回上次目录? - Nlage的回答 - 知乎 方法2 pushd popd dirs 当进到想保存的 ...
- linux shell pushd popd dirs命令
1.dirs 1)功能 显示当前目录栈中的所有记录(不带参数的dirs命令显示当前目录栈中的记录) 2)语法 (1)格式:dirs [-clpv] [+n] [-n] (2)选项 -c 删 ...
- win7下运行linux命令,win7系统32位旗舰版iso运行linux shell脚本的操作办法
win7旗舰版是用户量最大的一款操作系统:有不少人在使用中都遇见了win7系统运行linux shell脚本的问题,对于电脑不太熟悉的朋友面对win7系统运行linux shell脚本便无计可施,其实 ...
- linux对目录进行操作,Linux 基础:对文件和目录进行操作的 Linux 和 Unix 命令 笔记...
参考文章<Linux Basic – Linux and Unix Commands for File and Directory Manipulation> https://www.ji ...
- linux 主目录改名,Linux之目录的操作(创建、移动、改名、删除、复制)
.创建 mkdir [dirname] //创建单个目录 mkdir -p newdir1/newdir2/newdir3 //递归创建多级目录 mkdir dir1/dir2/newdir3 //在 ...
- linux l字符串,Linux shell 字符串常用操作
取变量的长度[root@oldjun-study scripts]# var=oldboy123 [root@oldjun-study scripts]# echo ${var} oldboy123 ...
- Linux命令行技巧——使用目录栈进行导航
Title: Linux命令行技巧--使用目录栈进行导航 Author: Charles Shih Create: 2017-08-31 17:03:28 目录栈导航 基本命令 目录栈结构 pushd ...
- linux 关联数组,Linux shell数组与关联数组的用法实例
Linux shell数组与关联数组的用法实例 1. 关联数组 使用 declare -A(declare 的用法请使用 help 进行查看,help declare) 进行声明关联数组变量: $ d ...
最新文章
- 关于 AppDelegate 、UIApplication 简单的用法
- webstorm配置ESLint 一直
- linux vim编辑文本是 m,linux基础命令介绍四:文本编辑 vim
- BootLoader引导程序制作及移植(二)
- 关于浮点数的原理详解
- MyCAT+MySQL 搭建高可用企业级数据库集群
- VTK:PolyData之ConnectivityFilter_LargestRegion
- 学习SpringMVC笔记——Intellij IDEA创建SpringMVC项目
- java spring aop 注解包_Spring AOP 注解配置实例
- Scala中的while循环
- 这就是飞秋下载早期的学习生涯
- 随便说说程序员团队精神的荣辱与共
- php网站跨站脚本监测,基于PHP的在线跨站脚本检测工具.pdf
- 杰出企业家的20个好习惯
- java 日历选择天_如何从Java中的日历对象构建天,月,年的列表?
- BT500-BT1788主观质量评价
- ② 判断语句、循环语句
- SQL UCASE() 函数
- python清洗数据 food ounces animal_Wonz 的动态 - SegmentFault 思否
- Leetcode_202_Happy Number
热门文章
- DSF分布式服务框架
- 52 通过键值对访问字典
- python中sum函数的使用方法及实例_sum函数语法与使用
- win7的chrome经常出现DNS查找失败解决方法
- epic导入游戏_如何获得Epic Store游戏的退款
- Python 中JSONDecodeError: Expecting value: line 1 column 1 (char 0)错误
- python导出百万数据到excel_[宜配屋]听图阁
- Ios 11 android 7,安卓8.0发布同时 苹果的iOS 11 beta 7也来了
- 深度 | 蔚来的“危险游戏”
- 计算机专业杭州申请公租房有,杭州公租房申请指南