linux目录太长怎么办?分享一点小技巧
在linux使用cd的时候,可能会遇到目录比较深的时候,这个时候总是cd一个很长的目录会很麻烦,那有没有什么比较方便的方法呢?
若是在两个目录中来回切换,这个时候可以使用cd - 这个命令,可以完成在两个目录中来回切换的作用,那为什么使用cd - 能够表示在两个目录中来回切换呢?
因为cd - 等同于 cd $OLDPWD
顾名思义,OLDPWD这个变量保存的就是前一次的PATH值
但若是经常切换目录数大于2个呢?
这时候可以采用这一对好基友 pushd 和 popd 来进行目录的切换,当然还需要加上dirs
pushd命令可能将当前的目录压栈,并跳转到指定的目录
usage: [root@path1]# pushd path2
这个时候会将path1目录压栈,并跳转到path2目录,使用 dirs -v 查看将会看到被压栈的目录信息。
这样,如果在压入一个path3后,使用 dirs -v 将会看到这样的目录信息:
0 path3
1 path2
2 path1
前面的数字就是这些目录的序号,使用pushd +N 命令可以完成任意目录的跳转,N即为目录的编号。
那么popd也很容易理解是什么意思了,既然pushd是压入地址的意思,那么popd就是pop dir的意思了,同样使用popd +N的方式可以将地址出栈,若是弹出当前目录则会返回OLDPWD,否则只是将存在目录栈中的值出栈而已。
使用pushd和popd有的时候会比cd来的方便的多,但是我还喜欢用另外一种方式进行目录的切换,使用的linux命令是alias
这个命令的语法是:alias [-p][别名][=命令]
这个命令的非常有用,对于一些比较繁琐的命令都可以用它来简化。
比如我有一个目录经常使用,但是这个目录路径比较长,这个使用就可以使用alias来提高效率
alias cdpath='cd longPath'
其中cdpath为自己取的别名,longPath为那个比较长的目录。这样以后只要在终端敲入cdpath就能完成便捷的跳转
当然如果这个命令直接在终端中输入的话,那么启动一个新的终端怕就没有作用了。所以我会将它写入到bashrc当中
bashrc一般在/etc/目录下
vi bashrc,并在最后一行插入source etc/alias_cd.sh
vi alias_cd.sh,并在其中插入需要alias的目录,保存退出后,source bashrc即可
这时候使用cdpath这样的命令就能快速地切换到需要的目录当中了,是不是非常便捷~
当然出路cd目录之外,还可以用alias命令对很多命令取别名~
好啦,今天的分享到这里就结束了,如果需要更多的技术性文章,可以访问马哥教育官网!
linux目录太长怎么办?分享一点小技巧的更多相关文章
- 干货分享:小技巧大用处之Bean管理类工厂多种实现方式
前言:最近几个月很忙,都没有时间写文章了,今天周末刚好忙完下班相对早点(20:00下班)就在家把之前想总结的知识点写出来,于是就有了这篇文章.虽无很高深的技术,但小技巧有大用处. 有时我们经常需要将实 ...
- 关于变长数组的一点小想法-C语言定义数组但是数组长度不确定怎么办
很多数据机构,比如栈,链表等,都可以动态分配存储空间 那么数组呢?一般声明时都要指定数组长度,那么数组可以实现动态分配么? 假设数组存的是int型 那么 你先申请10个元素 int* a = (int ...
- ssm开发的一点小技巧
一般使用反转工作生成基础bean如Items然后我们使用的实体类一般是基础bean的拓展类ItemsCustomer,继承自基础类,这个是为了方便对于表字段的更改生成的bean影响减低我们查询一般是使 ...
- 教你一些Linux中隐藏bash历史命令的小技巧
导读 如果你登录过 Linux 系统,并敲过一些命令,那你应该知道,bash history 会记录你输入的所有命令.这个操作其实是有一定风险的. 我个人经常使用 Linux,所以我想着研究一番,看看 ...
- Linux "yin"才们的奇"yin"小技巧 --请用东北发音夸他们
1. include/linux/bits.h GENMASK(h, l) /* * Create a contiguous bitmask starting at bit position @l a ...
- android 操作sqlite的一点小技巧
1.android 在sqlite插入数据时,是非常耗时的操作,原因是sqlite缺省会为每个插入操作开启一个事务,当数量变多的时候,自然时间就变得很慢,这时候可以考虑在插入等操作时先开启一个事务,再 ...
- 对于shell脚本参数获取时的一点小技巧
问题如下: 根据脚本参数的个数$#进行一个循环,在依次输出每个参数$1 $2 $3...... 我有一个循环变量i $i 取到这时的i为1,我想使用这个1再去调用$1,也是就是打印出第一个参数 就是$ ...
- 使用yii中CSecurityManager的一点小技巧
当我们使用CSecurityManager::encrypt对字符串进行加密, 加密后的字符串是一串乱码(看起来确实像乱码, 具体是什么有待考证), 这不利于我们的下一步操作. 我们可以使用base6 ...
- android rss阅读器开发一点小技巧
这几天一直在学习开发Rss阅读器,遇到一个很坑的问题,InputSource这里总是出错.弄了好久,终于让我找到一个解决方法----看代码: new Thread(){ @Override publi ...
随机推荐
- nginx.conf文件配置明细详解
#etnx运行的用户和用户组 user nginx nginx; #工作进程数,建议设置为CPU的总核数 worker_processes ; #全局错误日志定义类型,日志等级从低到高依次为: #de ...
- Shiro认证、角色、权限
Apache Shiro 是 Java 的一个安全框架.Shiro 可以帮助我们完成:认证.授权.加密.会话管理.与 Web 集成.缓存等. Shiro的内置Realm:IniRealm和JdbcRe ...
- UiPath工具取得网页上面的数据,写入到csv,Outlook邮件发送
问题描述: 想取得网页上面的股票价格,之后写入到csv文本里面之后添加附件发送邮件. 解决方法: 利用UIPath工具来取得数据,之后写入再发送. 具体步骤: 1.打开网页,之后找到所显示的股票行情的 ...
- Hbuilder连接苹果手机
最简单的连接方法 1 手机电脑连接---usb 2 pc下载iTunes 3 信任电脑,手机信任设备(设置--->通用--->设备管理-->信任) 4 ...
- Java面试 - == 和 equals 的区别?
==:如果比较的对象是基本数据类型,则比较的是数值是否一致:如果比较的是引用数据类型,则比较的是对象的地址值是否一致. equals():equals()方法不能用于比较基本数据类型的对象,如果对象和 ...
- Stream入门及Stream在JVM中的线程表现
继上次学习过Java8中的非常重要的Lambda表达式之后,接下来就要学习另一个也比较重要的知识啦,也就如标题所示:Stream,而它的学习是完全依赖于之前学习的Lambda表达式. 小实验引入: 这 ...
- Django路由配置
Django路由配置系统.视图函数 1.路由配置系统(URLconf) URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是 ...
- MySQL之mysqldump数据备份还原
一 mysqldump指令实现数据备份.mysql指令实现数据还原 经常有朋友问我,DBA到底是做什么的,百科上说:数据库管理员(Database Administrator,简称DBA),是从事管理 ...
- 使用Duilib开发Windows软件(4)——消息传递
云信Duilib中没有窗体类的函数可以用来直接收取到所有控件的事件,每个控件都可以单独设置自己的事件处理函数,一般在InitWindow方法中初始化各个控件的事件处理函数. 每个控件都有许多形如Att ...
- BOM与DOM的区别与联系
一.BOM与DOM的区别 1.BOM(Browser Object Model) BOM 即浏览器对象模型,BOM没有相关标准,BOM的最核心对象是window对象.window对象既为javascr ...