是否可以创建指向目录(如 /var/lib/tomcat6/webapps/MyWar)的符号链接,以便我可以从任何地方访问它?我希望能够cd myapp
从目录树中的任何位置访问该目录。是否只能在创建符号链接的目录中进行?
我是否必须更新我的 ~/.bashrc 文件以包含类似这样的别名:alias myapp="cd /var/lib/tomcat6/webapps/MyWar"
然后只需myapp
从任何地方输入即可?处理这种情况的最佳方法是什么,这样我就不必总是输入长目录?我还希望能够在复制命令中使用该参数,因此别名在这种情况下不会有帮助。希望我可以做类似的事情,其中 ~ 在任何命令中映射到主目录。
答案1
如果你在主目录中放置一个链接,你可以这样做
$ cd ~/myapp
这意味着需要输入两个额外的字符,但是它可以起作用。
或者你可以使用环境变量并执行
$ cd $MYAPP
答案2
只需在 .[bash_]profile 中将 CDPATH 环境变量设置为 .:/var/lib/tomcat6/webapps 即可。无论您身在何处,“cd myWar” 都会按预期工作。
答案3
我在主目录的一个文件夹中保存了一个链接列表,以便我可以轻松地执行以下操作:
cd ~/bm/myapp
这些“书签”是.gtk-bookmarks
通过以下 shell 脚本生成的,并与文件同步(由 Nautilus 和其他 GUI 文件管理器使用):
#!/bin/sh
sed 's/file:\/\/\(.*\)/\1/' $HOME/.gtk-bookmarks | while read dir name
do
ln -s $dir $HOME/bm/$name
done
答案4
ln -s /var/lib/tomcat6/webapps/MyWar ~/myapp
然后你就可以做cd ~/myapp
等等了。simlink 可以用于大多数目的,就像它是实际目录一样(即 cd 可以工作,cp 或 mv 会将文件放在目录中,而不是用文件等替换符号链接)。