이미 존재하는 디렉토리에 대한 심볼릭 링크


12

연결하는 적절한 방법이 있나요 /home/user/app/public/home/user/public_html대상이 이미 존재한다는 사실을 고려은?

내가하면 ln -s /home/user/app/public /home/user/public_html결국 /home/user/public_html/public.

과 같은 동작을 역전시키는 것도 가능 ln -s /home/user/public_html /home/user/app/public하지만 /home/user/app/public/public_html최종 결과 를 피하는 방법을 잘 모르겠습니다 .

답변:


13

Lemme는 올바른 방식으로 문제를 이해합니다

귀하의 출처는 /home/user/public_html거기에 파일이 있다고 가정합니다. 그리고에서이 디렉토리에 대한 링크를 만들고 싶습니다 /home/user/app/public. 이런 식으로, 당신은 같은 ls /home/user/app/public것을하고에 존재하는 파일을 볼 수 있습니다 /home/user/public_html.

이것이 맞다면, 당신의 출처는 /home/user/public_html이고 목표는 /home/user/app/public입니다. 올바른 명령은 다음과 같습니다.

ln -s /home/user/public_html /home/user/app/public

/home/user/app/public올바른 디렉토리 또는 파일이 아닌지 확인한 후 명령을 입력하십시오.


3
이것은 오래된 것이지만 사용자가 설명하는 방법을 정확하게 물었다 고 생각하지만 / home / user / app / public이 이미 존재할 수있는 경우 (이것은 정확히 말하면주의 사항입니다. 대답). 따라서 IMHO는 사용자가 기존 대상을 처리하는 방법 (예 : 심볼릭 링크를 만들기 전에 삭제하지 않고 심볼릭 링크로 재정의하는 방법)을 정확히 알고 싶었 기 때문에 원래 질문에 대답하지 않습니다.
jotadepicas

그것을 시도 -T 옵션 :)
Milkmannetje

2

귀하의 질문을 올바르게 이해하면 기존 목표를 처리하는 방법을 알고 싶을 것입니다. 이 경우 두 가지 가능한 시나리오가 있습니다.

1) 기존 대상이 파일입니다. 이 경우 "-f"를 사용하여 심볼릭 링크를 만들 수 있습니다.

2) 기존 대상은 디렉토리입니다. 이 경우 ln 명령의 현재 구현에 따라 다릅니다. 이 대신에 당신이 말한대로 그들을 복제의 디렉토리가 제대로 처리에 원인이 심볼릭 링크를 사용할 수있는 "-n"인수를 가지고있다.

참조 : /unix/207294/create-symlink-overwrite-if-one-exists


: 코멘트없이 downvote 이유를 궁금해 stackoverflow.com/help/privileges/vote-down이
jotadepicas
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.