Monday, February 16, 2009

001 通过CDPATH来设置cd 命令的根目录

如果你使用cd命令来跳转到某个“父目录”下的“子目录”时,你可以通过CDPATH来设置这个父目录,而不必每次都输入完整的路径。

[ramesh@dev-db ~]# pwd
/home/ramesh

[ramesh@dev-db ~]# cd mail
-bash: cd: mail: No such file or directory

[注意:上面的命令是在当前路径下查找mail子目录]

[ramesh@dev-db ~]# export CDPATH=/etc
[ramesh@dev-db ~]# cd mail
/etc/mail

[注意:现在我们查找的是etc目录下的mail子目录]

[ramesh@dev-db /etc/mail]# pwd
/etc/mail

当然目前的CDPATH只作用于当前的会话,如果你要使之永久生效,你需要将CDPATH=/etc 加入到~/.bash_profile 中,和设置PATH变量类似,你可以在CDPATH中定义多个路径,不同的路径之间用冒号(:)隔开:
export CDPATH=.:~:/etc:/var
这一技巧在下列情况中非常有用:
  • Oracle DBA 经常需要在 $ORACLE_HOME路径下工作,所以在CDPATH中设置Oracle的根目录就非常方便了。
  • Unix管理员经常在/etc目录下工作,所以将/etc添加到CDPATH就方便多了。
  • 开发人员经常在/home/projects目录下工作,所以我们也可以把它加到CDPATH中。
  • 普通用户经常在其用户文件目录下工作,所以可以在CDPATH中增加~ (代表当前用户文件目录)目录。

No comments:

Post a Comment