이미 존재하는 디렉토리에 대한 심볼릭 링크 /home/user/public_html대상이 이미 존재한다는 사실을 고려은? 내가하면 ln -s

연결하는 적절한 방법이 있나요 /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최종 결과 를 피하는 방법을 잘 모르겠습니다 .



답변

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올바른 디렉토리 또는 파일이 아닌지 확인한 후 명령을 입력하십시오.


답변

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

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

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

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


답변