심볼릭 링크를 만들고 싶습니다.
~/.pm2/logs -> /opt/myapp/log
내가 달릴 때
ln -sFf /opt/myapp/log ~/.pm2/logs
심볼릭 링크를 받았습니다
~/.pm2/logs/log -> /opt/myapp/log
이것은 내가 원하는 것이 아닙니다.
가능하다면 POSIX 호환 솔루션을 선호합니다.
답변1
당신은 이미 하나 가지고 있습니다목차존재하다 ~/.pm2/logs
. 디렉토리가 존재하므로 심볼릭 링크가 그 디렉토리에 배치됩니다.
~/.pm2/logs
디렉토리가 아닌 심볼릭 링크가 되도록 하려면 먼저 기존 디렉토리를 삭제하거나 이름을 바꿔야 합니다.
답변2
다른 답변에서 말했듯이 이미 디렉토리가 있습니다.
이를 방지하고 오류 메시지를 받으려면 이 -T
옵션을 사용하십시오. 불행히도 Posix(GNU)는 아닌 것 같습니다.
Gnu ln
매뉴얼에서 (cp와 mv는 동일합니다).
ln [OPTION]... [-T] TARGET LINK_NAME (1st form)
ln [OPTION]... TARGET (2nd form)
ln [OPTION]... TARGET... DIRECTORY (3rd form)
ln [OPTION]... -t DIRECTORY TARGET... (4th form)
Form 1 -T
과 Form 3은 모호합니다(둘 다 두 개의 인수가 있음).
Posix에서는 표 3과 같이 디렉토리 이름 끝에 를 추가하여 이러한 명확성을 강제할 수 있지만 /
그 반대의 경우에는 아무 것도 할 수 없다고 생각합니다. 이것이 -T
Gnu가 이 옵션을 추가한 이유입니다.
답변3
먼저 ~/.pm2/logs 디렉터리를 삭제하세요. 대상이 기존 디렉터리이므로 해당 디렉터리에 링크가 생성되었습니다.