今天开始,我计划每周介绍一个或者与之相关的一类Linux/Unix命令,除基本使用外,更倾向于该这些命令的奇技淫巧。欢迎大家捧场,多做补充。Linux的使用是一个经验积累的过程,更是一种投资。分享是一种美德,愿大家多行善、多积德,帮助别人的同时,也为自己攒点人品。现在就开始!
为了能够较快的切换目录,Linux下定义了一些特殊的名称或者变量,他们代表着特殊的目录。
alias命令可以定义别名,Shell会将以后执行的命令中alias的{dy}个参数替换为第二个参数然后执行:
利用alias,可以使我们更快的输入一些常用的但比较长的命令,这当然也适用于cd命令。为了不用每次有执行alias定义别名,我们应该把这些别名放入shell的配置文件中,比如.bashrc和.bash_profile,当shell(这里假定是bash)启动时会自动执行其中的命令。下面列出我常用的一些别名,仅供参考:
1 2 3 4 5 6 7 8 9 | alias ll='ls -lh' alias la='ls -A' alias l='ls -CF' alias ..='cd ..' alias ...='cd ../..' alias ....='cd ../../..' alias -- -='cd -' # --指示命令选项已经结束,下面全都是参数,否则=会被当作选项 alias bl='bc -l' # calculator with compute library. bind 'set completion-ignore-case on' # 使shell的Tab自动补全忽略字母的大小写 |
$CDPATH是bash的标准环境变量,它保存着cd命令默认搜索的一些目录,类似于$PATH变量。它是一组由分号:分隔的目录的路径组成的。
举例来说,我的工作目录为/home/Wdir,其下有很多不同类的目录,比如Cpp、Site、ACM、APUE、LaTeX等等。每次我都需要执行cd Wdir/ACM进入ACM目录,甚是麻烦。如果我把/home/Wdir加入到$CDPATH变量中,我就可以通过cd ACM直接进入ACM目录了。我的$CDPATH=’/:./:~/Wdir:/var:/media’,同样地,我们需要把这个设置写入到.bashrc中,把该环境变量导出(export):
任何东西都不可滥用。过度的使用alias可能会造成名字的混乱,向$CDPATH添加过多的目录有时也会让你吃尽苦头。