나에게 이것을 설명 할 수 있습니까? #ln -s :“target은 디렉토리가 아닙니다”?


12

나는 이것을하고있다 :

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
ls -l /etc/apache2/sites-enabled/LoginProject /etc/apache2/sites-available/LoginProject출력 을 추가 할 수 있습니까 ?
벨민 페르난데스

물론 거기에 추가했습니다
fceruti

여기에 도착 하여이 오류를 찾고 있지만 위의 해결책이 작동하지 않는 사람은 디렉토리를 연결하는 경우 대상이나 이름에 슬래시가 없는지 확인하십시오.
Sherri

답변:


5

시험: sudo a2ensite LoginProject

당신은 또한 할 수 있습니다 sudo ln –s /etc/apache2/sites-available/LoginProject /etc/apache2/sites-enabled/


파일은 다음과 같습니다. / etc / apache2 / sites-available / LoginProject 어쨌든 순서 변경을 시도했지만 작동하지 않았습니다.
fceruti

죄송합니다. 편집을 참조하십시오
xofer

감사! a2ensite LoginProject가 작동했습니다! 다른 명령을 시도하지 않았습니다. 그것은 여전히 ​​매우 이상합니다 ... 난 정말 이해가되지 않습니다
fceruti

일반적으로 ln은 2 개의 파일 경로를 허용하며 둘 이상의 경로 인 경우 대상은 디렉토리 여야합니다. 나는 이것이 왜 이런 식으로 매개 변수를 계산하는지 궁금합니다!
SparX

27

ln -s다른 소스 에서 명령을 복사하여 붙여 넣었고 시스템이 잘못된 유형의을 (를) 삽입했습니다 -. 를 삭제하고 -수동으로 다시 입력하십시오.


1
이 답변으로 내 하루를 구했습니다! 반나절. 나는 다른 반쪽을 내가 잘못하고있는 것이 무엇인지, 그리고 내가 원하는 디렉토리를 알아 내려고 시도하면서 머리카락의 잔재를 꺼내는 데 보냈다. 실제로 선에 잘못된 대시가있는 것으로 나타났습니다.
Alexander Amelkin

받아 들여 져야 할 위대한 대답
대부

큰!!! 감사합니다.
nano.galvao

6

문제는 이것의 차이점입니다 ...

sudo ln s path1 path2

이...

sudo ln -s path1 path2

차이가 보이지 않습니까? 짧은 대시 대 긴 대시.

긴 대시는 옵션으로 해석되지 않으므로 ln 은 명령 행에서 세 개의 경로를보고 마지막 경로는 디렉토리 일 것으로 예상합니다.


2
실제로 원래 게시물에서 긴 대시를 볼 수 있습니다. 이것이 답입니다.
Xalorous

3

아래처럼 단일 인수로 ln 을 시도 하고 그것이 도움이되는지 확인하십시오.

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

2

디렉토리를 인용하고 다음과 같이 sudo명령 인수를 종료하십시오 .

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

아니, 이것은 트릭을 만들지 않았다
fceruti

수정했습니다. 지금 다시 시도하십시오.
벨민 페르난데스

복사해서 붙여 넣었습니다 : ln :
target`

남자. 나는 밟 혔다. 대상이 존재할 때만 보았습니다. 그러나 당신의 ls출력은 그렇지 않다는 것을 보여줍니다. SELinux 또는 ACL 문제인지 궁금합니다. Meh, @fuscata의 답변으로 작동하도록했습니다. 잘 했어 :-)
Belmin Fernandez

시간을 내 주셔서 감사합니다. @fuscata는 해결책을 얻었습니다. 왜 그런 일이 있었는지에 대한 대답은 아니지만, 여전히 ... 다시 감사드립니다
fceruti
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.