电脑技术学习

对话 UNIX,第 13 部分: 另外十种命令行组合

dn001

$ 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

标签: