如何保存UNIX中常用目录的路径?

问题描述 投票:0回答:3

有没有办法在 UNIX 中保存常用目录的路径,这样我就可以输入快捷方式 cd myFavoritePath 来代替手动 cd /path/to/directory ??

unix cd
3个回答
6
投票

在 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 -
快速切换到以前的工作目录的命令


1
投票

您可以随时在 ~/.bashrc 中添加目录路径

vi ~/.bashrc

导出FAV_DIR1=''

.bashrc
中的变量会在新会话中加载到环境中。所以请务必重新启动。

然后您可以通过以下方式访问该目录:

cd $FAV_DIR1


0
投票

我也有同样的问题。所以,我制作了

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.

希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.