在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. idea用maven创建web项目(详细)

    引用:http://blog.csdn.net/u010361662/article/details/50605099 欢迎添加微信

  2. EMR目录

    EMR目录: E-MapReduce 是阿里云上的开源大数据平台,用户可以登录集群主节点查看相关安装路径. 登录后也可以使用 env |grep xxx 查看. 或者,在EMR Hadoop集群,切换 ...

  3. wordPress设计网页实践

    我希望能设计出世界上最美的画面! 首先进入你自己建立的网站http://localhost:8079/Frank,如上图所示.注意,编辑页面时,要可以上外网,否则wordPress的插件会下载出错! ...

  4. C++Primer 5th Chap6 Functions

    局部静态变量,关键字static修饰,即使函数结束执行也不受影响,生存期直到程序终止. java中static的单一存储空间的概念与其或有异曲同工之妙. 函数的形参可以无名,但有名可以使其意义更加清晰 ...

  5. PHP中类成员的访问控制

    类成员访问控制: 1.public 默认的,任何地方都可以访问,类内,类外,子类中 2.protected 受保护的,对外是封闭的,但是类内部和子类可以访问 3.private  私有的,仅限于本类中 ...

  6. time模块/datetime模块/calendar模块

    time模块时间的表示形式时间戳:以整型或浮点型表示⼀个时间,该时间以秒为单位,这个时间是以1970年1⽉1⽇0时0分0秒开始计算的. 导入time import time 1.返回当前的时间戳 no ...

  7. Scratch-介绍“克隆”

    上次我们模仿一个扔小球的运动, 用到了Scratch的“克隆”. 用Scratch模仿扔小球 “克隆”命令 Scratch“克隆”有三个命令积木. 区分“本体”和“克隆体” 使用“克隆”命令, 我们发 ...

  8. axios的二次封装

    'use strict' import axios from 'axios' import qs from 'qs' var host = "https://www.easy-mock.co ...

  9. mybatis相关知识积累

    mybatis Statement Statement对象用于将 SQL 语句发送到数据库中. 实际上有三种 Statement 对象,它们都作为在给定连接上执行 SQL语句的包容器: Stateme ...

  10. JDBC 复习1 DBUtil

    package dbex; import java.io.Closeable; import java.io.IOException; import java.io.InputStream; impo ...