创建后符号链接断开

时间:2018-09-27 14:44:48

标签: linux bash ln

  • 创建链接后,链接会立即断开。
  • 我正确使用了lnln -s SOURCE TARGET

创建符号链接

$ sudo ln -s ./sites-available/examble.domain.com ./sites-enabled

编译NGINX-由于符号链接断开而失败

注意: 该问题与NGINX无关,只是在那里进行了NGINX编译,以帮助我意识到该问题的存在。下面介绍的解决方案适用于任何其他相关问题问题。

$ sudo nginx -t
nginx: [emerg] open() "/etc/nginx/sites-enabled/example.domain.com" failed (2: No such file or directory) in /etc/nginx/nginx.conf:62
nginx: configuration file /etc/nginx/nginx.conf test failed

确认符号链接已断开

$ file ./sites-enabled/example.domain.com
./sites-enabled/example.domain.com: broken symbolic link to ./sites-available/example.domain.com

1 个答案:

答案 0 :(得分:2)

问题在于SOURCE放置到目标目录时不会重新解释。

因此,如果您要链接的文件是~/file,并且您想使用以下方式将其链接到~/folder

ln -s ./file ./folder/

然后,符号链接将认为file位于~/folder/file而不是~/file

因此,您必须进入目录~/folder,然后从此处执行ln命令。

所以,问题是...

ln需要与SOURCE目录相对的TARGET目录。不是与您当前目录相对的SOURCE目录。

最终解决方案

# Getting into the folder
cd ./sites-enabled

# Creating symbolic link
ln -s ../sites-available/example.domain.com ./