有没有办法为符号链接创建动态绝对路径?
每当我尝试使用相对路径创建符号链接时,链接就会被解析为已损坏。我唯一的选择是创建一个带有绝对路径的符号链接
ex. ln -s $PATH/folder docroot/folder1
虽然这很有效,但当我将代码推送到远程服务器时,路径仍然在我的主目录中查找并导致权限被拒绝错误。 所以,我想知道是否有办法伪造绝对路径?
项目的文件结构如下:
SiteName
Docroot
folder
folder
folder
答案 0 :(得分:2)
您最初使用相对链接的想法非常合适,但很可能只是没有正确实施。要正确创建相对符号链接:
给定目录结构:
SiteName
docroot
folder
您当前的工作目录:SiteName
docroot/folder1 -> docroot/folder
尝试:
$ ln -s folder docroot/folder1
如果你有tree
程序,则可以看到结构以及符号链接folder1
成功指向docroot
' s folder
:< / p>
$ tree
.
└── docroot
├── folder
└── folder1 -> folder
3 directories, 0 files
您对相关链接的原始尝试失败可能是由于对relative
链接所需内容的常见误解:
Shadur's Unix & Linux answer提及:
符号链接相对于链接所在的位置,而不是您创建链接时的位置。 ...
所以,
folder1
的角度来看,folder
的相对路径只是folder
,因为他们是同一目录的兄弟姐妹ln -s <relative path> <where to create new link>
SiteName
运行命令时,将在docroot/folder1
因此,最终命令ln -s folder docroot/folder1
可以在docroot/folder1
正确创建,以指向同一目录中的folder
。
所以只要你不改变他们的相对位置,它就会起作用。