你能向我解释一下#ln -s:“目标不是目录”吗?

你能向我解释一下#ln -s:“目标不是目录”吗?

我正在这样做:

sudo ln –s /etc/apache2/sites-available/LoginProject /etc/apache2/sites-enabled/LoginProject

我得到:

ln: target `/etc/apache2/sites-enabled/LoginProject' is not a directory

/etc/apache2/sites-available/LoginProject 它是一个文件

编辑:

这个命令:

ls -l /etc/apache2/sites-enabled/LoginProject /etc/apache2/sites-available/LoginProject

输出:

ls: cannot access /etc/apache2/sites-enabled/LoginProject: No such file or directory
-rw-r--r-- 1 root root 526 2011-09-27 18:40 /etc/apache2/sites-available/LoginProject

编辑2:

$ls /etc/apache2/sites-available/
default  default-ssl  LoginProject
$

$ls /etc/apache2/sites-enabled/
$

答案1

尝试:sudo a2ensite LoginProject

你也可以这样做sudo ln –s /etc/apache2/sites-available/LoginProject /etc/apache2/sites-enabled/

答案2

您可能ln -s从其他来源复制并粘贴了该命令,而系统插入了错误类型的-。请尝试删除-并手动重新输入。

答案3

问题在于这之间的区别......

sudo ln –s path1 path2

和这个...

sudo ln -s path1 path2

没看出区别吗?短划线与长划线。

长划线不被视为选项,因此在命令行上看到三条路径,并期望最后一条路径是一个目录。

答案4

尝试引用目录并终止sudo命令参数,如下所示:

sudo -- \ln –s "/etc/apache2/sites-available/LoginProject" "/etc/apache2/sites-enabled/LoginProject"

相关内容