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命令对很多命令取别名~

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。