Linux 动态绝对路径符号链接

Linux 动态绝对路径符号链接,linux,symlink,Linux,Symlink,有没有办法为符号链接创建动态绝对路径 每次我尝试创建具有相对路径的符号链接时,链接都会解析为断开。我唯一的选择是创建带有绝对路径的符号链接 ex. ln -s $PATH/folder docroot/folder1 虽然这样做有效,但当我将代码推送到远程服务器时,该路径仍在我的主目录中查找,并导致权限拒绝错误。 所以,我想知道是否有办法伪造绝对路径 项目的文件结构如下所示: SiteName Docroot folder folder folder

有没有办法为符号链接创建动态绝对路径

每次我尝试创建具有相对路径的符号链接时,链接都会解析为断开。我唯一的选择是创建带有绝对路径的符号链接

    ex. ln -s $PATH/folder docroot/folder1 
虽然这样做有效,但当我将代码推送到远程服务器时,该路径仍在我的主目录中查找,并导致权限拒绝错误。 所以,我想知道是否有办法伪造绝对路径

项目的文件结构如下所示:

SiteName
  Docroot
     folder
     folder
     folder

您最初使用相对链接的想法非常合适,但很可能没有正确实现。要正确创建相对符号链接,请执行以下操作:

  • 给定目录结构:

    SiteName
      docroot
         folder
    
  • 您当前的工作目录:
    SiteName

  • 您需要:
    docroot/folder1->docroot/folder
尝试:

如果您有
程序,您可以看到结构,以及成功指向
docroot
文件夹的符号链接
folder1

$ tree
.
└── docroot
    ├── folder
    └── folder1 -> folder

3 directories, 0 files
解释 您最初尝试相对链接失败的原因可能是对
相对链接所需内容的常见误解:

提到:

符号链接相对于链接所在的位置,而不是创建链接时的位置

所以

  • folder1
    的角度来看,
    文件夹
    的相对路径只是
    文件夹
    ,因为它们是同一目录的同级
  • 命令语法为
    ln-s
  • SiteName
    运行命令时,将在
    docroot/folder1
因此,最后一个命令是
ln-s folder docroot/folder1
,用于在
docroot/folder1
处正确创建,以指向同一目录中的
文件夹


因此,只要你不改变它们的相对位置,它现在就可以工作。

对不起,不清楚你到底问了什么。符号链接正好指向您指定的路径。这是一条相对路径还是一条绝对路径是无关的。您发布的示例没有使用绝对路径,因此我想知道您是否真的以正确的方式使用了术语
绝对
相对
…抱歉,将$PTH更改为$path。这是一个全局变量,返回您所在的绝对路径。因此,目标实际上是:User/MyName/Sites/projects/SiteName/docroot/folder,链接是docroot/folder1I我尝试从docroot和project root创建一个符号链接,但每次链接都被破坏。因此,当我尝试将cd刻录到文件夹1时,出现了一个“非文件或目录”错误。您说“$PATH。这是一个全局变量,返回您所处的绝对路径。”不,它不是。试试$PWD。@海米是对的。最上面:
User/MyName/Sites/projects/SiteName/docroot/folder
不是绝对路径<代码>/User/MyName/Sites/projects/SiteName/docroot/folder
将是一个绝对路径。
$ tree
.
└── docroot
    ├── folder
    └── folder1 -> folder

3 directories, 0 files