$ cd ~/tomb/mariner
$ cd ~/personal/novel
$ cd ~/current/einstein
为了简化这项任务,可以将 CDPATH 设置为您所需要的搜索命名目录的目录列表:
$ export CDPATH=.:~/:..:../..:
这是 CDPATH 的最小设置。它将按顺序搜索当前目录(.,或者“点)、您的 home 目录 (~/)、父目录(..,或者“点点)、父目录的父目录目录 (../..)。最小设置首先搜索本地目录以及附近的一些目录。
在设置了这个 CDPATH 之后,您可以快速地更改到任何顶层目录:
$ pwd
/tmp
$ cd current
/home/strike/current
$ cd personal/fishing
/home/strike/personal/fishing
$ cd novel
/home/strike/personal/novel
$ cd /tmp
$ cd personal/novel
/home/strike/personal/novel
$ cd /tmp
$ cd novel
cd: no such file or Directory: novel
除最后一个 cd 命令之外,所有命令的参数都在 CDPATH 中存在匹配的目录。然而,因为 personal 目录不在 CDPATH 中,所以无法找到 novel(如果您位于相对路径之外)。
如果您希望搜索 personal 目录和其他的两个目录,那么可以将它们添加到 CDPATH 的最后一个冒号的后面,或者根据您所需要的搜索顺序进行添加。添加三个目录,假设您的 Shell 启动文件中包含前面的 export 命令:
$ export CDPATH=$CDPATH:~/current:~/tomb:~/personal
现在,您只需要输入希望切换到的目录的名称即可:
$ cd current
/home/strike/current
$ cd /tmp
$ cd einstein
/home/strike/current/einstein
$ cd fishing
/home/strike/personal/fishing
$ cd personal/novel
/home/strike/personal/novel
标签: