전체 경로를 입력하지 않고 현재 폴더를 절대 경로로 Symlink 경로에 대한 바로 가기로 저장됩니다. ~/foo➤

심볼릭 링크는 상대 경로에 대한 바로 가기로 저장됩니다.

~/foo ln -s . ~/bar/foo
~/foo ls -l ~/bar
total 8
lrwxr-xr-x    1 me  me     1B 15 May 14:38 foo -> .

파일 ~/bar/foobar현재 디렉토리에 대한 심볼릭 링크 입니다.

다른 디렉토리에서 당시의 디렉토리에 대한 심볼릭 링크를 만들려면 어떻게해야합니까? 위의 예에서 나는에 대한 심볼릭 링크로 ~/foo만들고 싶습니다 . 물론 현재 디렉토리는 5 자보다 약간 길어서 입력하기 쉽지 않을 수 있습니다.~/bar/foo~/foo



답변

나는 유형을 말할 것입니다

ln -s $PWD ~/bar/

또는

ln -s `pwd` ~/bar/

당신은 또한 사용할 수 있습니다

ln -s $PWD ~/bar/

그러나 나는 당신이 그것을 알았고 그것이 당신이 돌보고있는 것이 아닙니다. 목표가 무엇인지 설명하기 위해 질문을 업데이트 할 수 있습니까?

경로에 공백이 있으면 다음을 사용하는 것이 좋습니다.

ln -s "$PWD" ~/bar/

답변

물론:

ln -s "$(readlink -f .)" ~/bar

(스크립트의 일반성에 좋을 수도 있음) 또는 그냥

ln -s ~/foo ~/bar

상대적으로 :

ln -s ../foo ~/bar

탭 완성은 입력하는 데 도움이됩니다.


grawity의 의견과 http://lists.gnu.org/archive/html/coreutils-announce/2012-03/msg00000.html :

* 릴리스 8.16 (2012-03-26)의 주목할만한 변경 사항 [안정한]

ln이제 --relative대상 지정 방법에 관계없이 대상에 상대적인 심볼릭 링크를 생성하는 옵션을 허용 합니다.

따라서이 버전으로 :

ln -s --relative . ~/bar

작동해야합니다 (실제로는 --relative스위치를 추가 한 첫 번째 예와 동일합니다 ).