你能解释一下吗?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/ $ 

试试: sudo a2ensite LoginProject

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

您可能从另一个源复制并粘贴了ln -s命令,并且系统插入了错误的-types。 尝试删除-然后再手动input。

问题是这个区别…

 sudo ln –s path1 path2 

和这个…

 sudo ln -s path1 path2 

没有看到差异? 短冲刺与长冲刺。

长破折号不被解释为一个选项,所以在命令行看到三个path,并期望最后一个目录。

尝试像下面的单一参数,看看是否有帮助,

 cd /etc/apache2/sites-enabled/ ; sudo ln -s /etc/apache2/sites-available/LoginProject 

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

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