PC에서 작동하는 상대 심볼릭 링크를 만드는 방법

PC에서 작동하는 상대 심볼릭 링크를 만드는 방법

다음과 같은 디렉토리 구조가 있습니다.

~/a/bin
~/a/src -> /home/user/b/sync/src

심볼릭 링크를 만들었습니다

cd ~/a/src
ln -s ../bin bin-xyz

이제 bin-xyz는 끊어진 링크이므로 CD로 들어갈 수 있는 방법이 없습니다.

나는 무엇을 찾고 있나요?

상대 경로가 깨지지 않도록 심볼릭 링크 폴더 내에 심볼릭 링크를 만드는 방법은 무엇입니까? 예를 들어,

 cd ~/a/src/bin-xyz 

또는

 cd ~/b/sync/src/bin-xyz

~/a/ 또는 ~b/sync/에 bin 디렉터리가 있으면 작동합니다.

내가 이걸 왜 찾고 있는 걸까?

컴퓨터 간에 ~/b/sync/src를 동기화하고 있습니다. 여기서 ~/a/는 두 컴퓨터의 작업 공간이지만 컴퓨터의 사용자 이름은 다릅니다. 따라서 유효한 상대 경로가 있다는 것은 작업 흐름이 더 쉽다는 것을 의미합니다.

동기화를 위해 Bittorent 동기화를 사용하고 있습니다.

감사해요:-)

답변1

이제 bin-xyz는 끊어진 링크입니다.

그 이유는 분명합니다. 둘 중 하나는 ..다음을 참조해야 합니다.실제그렇지 않으면 완전히 모호해집니다.

왜냐하면 에 연결하려고 하는 것 ~/a/src -> /home/user/b/sync/src같습니다 . 이 경우에는 절대 경로를 사용해야 합니다.$PWDln -s ../bin bin-xyz/home/user/b/sync/src/bin-xyz/home/user/a/sync/bin

 ln -s /home/user/a/sync/bin /home/user/b/sync/src/bin-xyz

ln이 간격이 채워지지 않는 이유 ..는 현재 쉘과 달리 움직임을 추적하지 않고 ..실제 상위 디렉토리가 아닌 다른 것을 참조하고 있는지 알 방법이 없기 때문입니다.

귀하의 질문(아마도?)은 실제로 두 가지 다른 시스템이 관련되어 있기 때문에 이를 수행할 수 없음을 의미합니다. 이는 네트워크 공유가 마운트되었거나 둘 다에 동일한 블록 장치를 사용하고 있음을 의미합니다.XY 문제- 이 문제는 자세한 내용이 없으면 해결될 수 없습니다.

관련 정보