Linux中快速回到N级上层目录
https://mp.weixin.qq.com/s/iOLZpa5hCFR6lC-D4-OGmg
在Linux系统中,使用自定义命令,快速回到指定层级的上层目录。
1. 问题
在使用Linux的过程中,经常进入到很深的目录:
而后又要回到某个上层目录,有没有什么好的方法呢?
2. 解决方法
回到上层目录的命令是:
那么最简单的方法就是不停的上翻执行cd ..命令:
可是一般笔记本向上翻的箭头比较小,不是很方便。
再有一个方法就是使用多个../进行切换:
且不说无名指和小指打这两个字符不方便容易累,也很容易多打一个点而使速度降下来。
要是能有cd .....这样的命令就好了:
3. 自定义命令
既然cd命令没有那样的用法,为何不自己定义一个呢?
a. 既然命令与cd和..有关,那就叫c.(可以根据喜好自定义);
b. 使用参数作为回退目录的级数,一个点代表回退一级;
命令实现如下:
其中:
a. 使用第一个参数,将其中的“.”替换为“../”;
b. 调用cd命令实现目录切换;
使用效果如下:
4. 提升兼容性
可以看到,命令当中“.”比较多,包括命令中的点和参数中的点。留意打多少个点的时候,也会忘记打空格,记起打空格的时候,可能为时已晚,导致命令错误,需要修改。
那么就稍微调整一下,提升兼容性:
a. 可以不打空格:
b. 可以晚打空格:
c. 为了统一,约定:命令中紧跟着字符c后面的一个“.”,属于命令,不用于计算层级数;
如何实现呢?
a. 命令“c.”不带参数,表示留在当前目录;
b. 命令“c..”“c...”等需要增加新的命令;
5. 新的实现
首先,修复命令“c.”不带参数返回home目录的问题:
然后,把这个函数变为公共函数,并定义新的“c.”命令:
定义“c..”命令:
这里在命令参数的基础上,把命令中的“.”也转换为“_c.”命令的参数。
其他定义类似:
定义到“c.........”(包含9个点),单命令可以回退的8级目录,层级数目基本上够用了。
使用效果如下:
z. 附录
?相关源码(文中都有)附录如下:
-----------------------------------------------------------------------------
这是一篇付费文章,请移步付费阅读全文,谢谢!
文章链接:https://mp.weixin.qq.com/s/iOLZpa5hCFR6lC-D4-OGmg