在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目录太长怎么办?分享一点小技巧的更多相关文章

  1. 干货分享:小技巧大用处之Bean管理类工厂多种实现方式

    前言:最近几个月很忙,都没有时间写文章了,今天周末刚好忙完下班相对早点(20:00下班)就在家把之前想总结的知识点写出来,于是就有了这篇文章.虽无很高深的技术,但小技巧有大用处. 有时我们经常需要将实 ...

  2. 关于变长数组的一点小想法-C语言定义数组但是数组长度不确定怎么办

    很多数据机构,比如栈,链表等,都可以动态分配存储空间 那么数组呢?一般声明时都要指定数组长度,那么数组可以实现动态分配么? 假设数组存的是int型 那么 你先申请10个元素 int* a = (int ...

  3. ssm开发的一点小技巧

    一般使用反转工作生成基础bean如Items然后我们使用的实体类一般是基础bean的拓展类ItemsCustomer,继承自基础类,这个是为了方便对于表字段的更改生成的bean影响减低我们查询一般是使 ...

  4. 教你一些Linux中隐藏bash历史命令的小技巧

    导读 如果你登录过 Linux 系统,并敲过一些命令,那你应该知道,bash history 会记录你输入的所有命令.这个操作其实是有一定风险的. 我个人经常使用 Linux,所以我想着研究一番,看看 ...

  5. Linux "yin"才们的奇"yin"小技巧 --请用东北发音夸他们

    1. include/linux/bits.h GENMASK(h, l) /* * Create a contiguous bitmask starting at bit position @l a ...

  6. android 操作sqlite的一点小技巧

    1.android 在sqlite插入数据时,是非常耗时的操作,原因是sqlite缺省会为每个插入操作开启一个事务,当数量变多的时候,自然时间就变得很慢,这时候可以考虑在插入等操作时先开启一个事务,再 ...

  7. 对于shell脚本参数获取时的一点小技巧

    问题如下: 根据脚本参数的个数$#进行一个循环,在依次输出每个参数$1 $2 $3...... 我有一个循环变量i $i 取到这时的i为1,我想使用这个1再去调用$1,也是就是打印出第一个参数 就是$ ...

  8. 使用yii中CSecurityManager的一点小技巧

    当我们使用CSecurityManager::encrypt对字符串进行加密, 加密后的字符串是一串乱码(看起来确实像乱码, 具体是什么有待考证), 这不利于我们的下一步操作. 我们可以使用base6 ...

  9. android rss阅读器开发一点小技巧

    这几天一直在学习开发Rss阅读器,遇到一个很坑的问题,InputSource这里总是出错.弄了好久,终于让我找到一个解决方法----看代码: new Thread(){ @Override publi ...

随机推荐

  1. csu 1901: 赏赐 OR 灾难

    1901: 赏赐 OR 灾难 Submit Page   Summary   Time Limit: 1 Sec     Memory Limit: 128 Mb     Submitted: 86  ...

  2. Python hashlib加密模块

    hashlib模块 简介: hashlib模块是一个提供了字符串加密功能的模块,包含MD5和SHA的加密算法.具体的加密支持有: MD5,sha1,sha224,sha256, sha384, sha ...

  3. mysql 表字段部分替换

    update user set `ph` = REPLACE(`ph`,'shenji.osnt.me','60.210.113.147:555');

  4. 解决 yolov3: Demo needs OpenCV for webcam images

    默认情况下yolo的Makefile文件有个配置OPENCV=0,你需要将它改成 0 ,然后重新make 编译make 编译就会启用 opencv,此时你需要在你的电脑上安装opencv 才可以 修改 ...

  5. Word 插入目录的 5 种方法

    1. "运用多级编号法"之图文教程 效果图: 步骤: 首先,为了更好的演示,我们先将我们的一级标题全部选中,按住Ctrl键,去一一选择就行了. 选中一级标题后,我们进入「开始」-「 ...

  6. Erlang:[笔记二,构建工具rebar之发布应用]

    概述 通过rebar可以发布rebar构建的erlang项目,生成可执行的二进制脚本文件,大大降低了执行应用的复杂度.该笔记Erlang环境为Erlang/OTP 19 ,以下适用于Eralng/OT ...

  7. Django查找数据库objects.filter() 排序order_by Q()与或非 F()属性之间比较 聚合函数的用法

    条件选取QuerySet的时候,filter表示=参数可以写查询条件,exclude表示!=,querySet.distinct() 去重复(除了get返回值都是QuerySet,可以继续调用所有函数 ...

  8. Tokitsukaze and Duel CodeForces - 1191E (博弈论)

    大意: 给定01串, 两人轮流操作, Tokitsukaze先手. 每次操作可以选择长为$k$的区间, 全部替换为$0$或$1$, 若替换后同色则赢. 求最后结果. 先判断第一步是否能直接赢, 不能的 ...

  9. Idea 使用 Junit4 进行单元测试

    目录 Idea 使用 Junit4 进行单元测试 1. Junit4 依赖安装 2. 编写测试代码 3. 生成测试类 4. 运行 Idea 使用 Junit4 进行单元测试 1. Junit4 依赖安 ...

  10. Android 自定义控件之 日期选择控件

    效果如下: 调用的代码: @OnClick(R.id.btn0) public void btn0() { final AlertDialog dialog = new AlertDialog.Bui ...