有没有办法在 UNIX 中保存常用目录的路径,这样我就可以输入快捷方式 cd myFavoritePath 来代替手动 cd /path/to/directory ??
在 CDPATH 环境变量中定义您最喜欢的目录。它是 cd 命令可用的搜索路径的以冒号分隔的列表。您不应指定要切换的目录,而是指定父目录。
以下是有关它的简要信息:http://docstore.mik.ua/orelly/unix/upt/ch14_05.htm
例如,您有三个经常使用的目录:
/home/user/scripts/favorite/
/var/log/
/var/lib/
将下一行添加到您的 ~/.bash_profile(或您使用的另一个 shell 配置文件):
export CDPATH=.:/home/user/scripts:/var
在下面的示例中,我只是在 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
如果你想在执行时使用 tab
cd
你可以安装 bash-completion http://bash-completion.alioth.debian.org/但它是可选的
也不要忘记
cd -
快速切换到以前的工作目录的命令
您可以随时在 ~/.bashrc 中添加目录路径
vi ~/.bashrc
导出FAV_DIR1=''
.bashrc
中的变量会在新会话中加载到环境中。所以请务必重新启动。
然后您可以通过以下方式访问该目录:
cd $FAV_DIR1
我也有同样的问题。所以,我制作了
go
,它可以让你轻松地为你最喜欢的路径保存别名。您可以在这里找到它:https://github.com/aledquin/go
我用别名来称呼它:
alias go='source $HOME/bin/go_dir.sh'
以下是示例:
go save home $HOME --> saves it in a local file $HOME/env/dir_map.$USER
go home --> change directory to $HOME
go <TAB> --> display options to use:
%delete %help %remove_all %update
%edit %list %save home
go update home $newHOME --> update alias to $newHOME
go delete home --> remove the line where the alias home was.
还有最喜欢的 ROOT 选项,您可以使用关键字在目录中移动。
GOROOT=$HOME ; #by default
go tests example => change directory to: $HOME/tests/unit_tests/example/
go lib Example.py => change directory to where you can find Example.py
in the sub directories of $HOME/lib/ getting till:
"$HOME/lib/python/Package/src/" where Example.py was found.
希望这有帮助!