如何在UNIX中将路径保存到常用目录?

Num*_*ife 0 unix cd

有没有办法将路径保存到UNIX中常用的目录,所以不必手动cd/path/to/directory我只需输入快捷方式cd myFavoritePath ??

And*_*tov 5

在CDPATH环境变量中定义您喜欢的目录.它是cd命令可用的以冒号分隔的搜索路径列表.您应该指定不要切换的目录,而是指定父目录.

以下是有关它的简要信息:http://docstore.mik.ua/orelly/unix/upt/ch14_05.htm

例如,您经常使用三个目录:

/home/user/scripts/favorite/
/var/log/
/var/lib/
Run Code Online (Sandbox Code Playgroud)

添加到你的〜/ .bash_profile(或你使用的另一个shell配置文件)下一行:

export CDPATH=.:/home/user/scripts:/var
Run Code Online (Sandbox Code Playgroud)

在下面的示例中,我只是在shell中为当前会话重新定义CDPATH

[user@server lib]$ CDPATH=.:/var:/home/user/scripts
[user@server lib]$ cd log
/var/log
[user@server log]$ cd lib
/var/lib
[user@server lib]$ cd favorite
/home/user/scripts/favorite
Run Code Online (Sandbox Code Playgroud)

如果你想在执行时使用tab,cd你可以安装bash-completion http://bash-completion.alioth.debian.org/但它是可选的

另外不要忘记cd -快速切换到以前工作目录的命令

  • CDPATH 的主要问题是确保该值以 `:` 或 `.:` 开头 - 否则,您位于主目录中并想要转到 bin 目录,然后输入 `cd bin` 但你的 CDPATH 启动 `/usr/local` 并且你的 `cd` 因此跳转到 `/usr/local/bin` 而不是你自己的 `bin` 目录。通过将 `:` 放在开头,您可以在查找其他地方之前跳转到 `./bin` 或您自己的 `bin` 目录。当然,如果你可以简单地学习输入`cd ./bin`,但我宁愿不这样做。如果你有 `.:`,shell 会回显你所在的位置;如果你只有`:`,则没有。 (2认同)