다른 이름으로 폴더 심볼릭 링크를 만드는 방법은 무엇입니까?

다른 이름으로 폴더 심볼릭 링크를 만드는 방법은 무엇입니까?

심볼릭 링크를 만들고 싶습니다.

~/.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과 같이 디렉토리 이름 끝에 를 추가하여 이러한 명확성을 강제할 수 있지만 /그 반대의 경우에는 아무 것도 할 수 없다고 생각합니다. 이것이 -TGnu가 이 옵션을 추가한 이유입니다.

답변3

먼저 ~/.pm2/logs 디렉터리를 삭제하세요. 대상이 기존 디렉터리이므로 해당 디렉터리에 링크가 생성되었습니다.

관련 정보