无法在 CentOS 5.6 上创建符号链接 - 文件存在错误

无法在 CentOS 5.6 上创建符号链接 - 文件存在错误

我正在尝试在我的 CentOS 5.6 机器上设置一个符号链接来dev_crmpicco/指向~/vhosts/dev/dev_crmpicco/web/

我正在使用以下命令:

[crmpicco@devel dev]$ ln -s ~/vhosts/dev/dev_crmpicco/web/ dev_crmpicco/

但是,我收到此错误:

ln: creating symbolic link `dev_crmpicco/web' to `/home/crmpicco/vhosts/dev/dev_crmpicco/web/': File exists

我知道该文件存在,因为我想dev_crmpicco/指出它。

基本上,我的 DOCROOT 曾经在,dev_crmpicco/但现在它全部移动到一个web/目录中,我不想四处更改我的所有 Apache 配置,如果可能的话,我宁愿通过符号链接来完成它。

答案1

您应该检查dev_crmpicco/web先前尝试链接(或复制而不是移动)是否存在。如果它存在(无论是文件、链接还是目录),您必须将其删除,因为这是您的命令尝试创建的内容。

检查后尝试:

ln -s ~/vhosts/dev/dev_crmpicco/web/ dev_crmpicco

/没有@Johan 建议的尾随。

答案2

如果您明确指定一个目录作为目标(例如,通过在 后面提供尾随/dev_crmpicco/就像您在示例中所做的那样),则将在该目录内以相同的名称(本例中为 web)创建链接(缺少的目录是在这种情况下会出错)

ln -s 路径/目标链接/

将创造

链接/目标 -> 路径/目标

dev_crmpicco如果您想成为原始链接,请勿提供尾部斜杠。在这种情况下,链接将被命名dev_crmpicco,如果存在具有该名称的文件或目录,则会出现错误。

无论哪种方式,您都必须在创建链接之前重命名或删除现有文件/目录。

ln -s 路径/目标链接

将创造

链接 > 路径/目标

相关内容