공백이있는 디렉토리에 대한 심볼릭 링크를 작성하는 방법


24

다음 명령을 사용하여 심볼릭 링크를 만들려고했습니다.

ln -s "~/Foo Bar/" Foo

...하지만 작동하지 않았습니다 (예 : 파인더로 가서 두 번 클릭하면 잘못된 경로를 가리키고 별칭을 삭제하거나 수정하라는 메시지가 표시됩니다). 폴더의 이름을 바꾸고 FooBar다음 명령을 실행해야했습니다.

ln -s ~/FooBar/ Foo

폴더 이름에서 공백을 제거하지 않고 어떻게 링크를 만들 수 있습니까?

Finder의 UI가 아닌 터미널 에서이 작업을 수행하는 방법을 찾고 있습니다.


1
Gordon Davisson이 옳지 만 별칭과 심볼릭 링크 (심볼릭 링크)가 다르다는 것을 알고 있어야합니다. ln -s심볼릭 링크를 만듭니다. Finder는 별칭을 만듭니다. 실용적이고 일반적인 용도로 거의 동일하지만 서로 다르다는 것을 인식하는 것이 중요합니다 . 심볼릭 링크는 디렉토리 경로를 가리키고 별칭은 파일을 가리 킵니다. 동일한 파일을 가리키고 파일을 다른 폴더로 이동 한 다음 이전 폴더에 새 파일을 만들면 별칭이 이동 한 원본을 가리키고 심볼릭 링크가 새 파일을 가리 킵니다.
CajunLuke

1
@ Cajun : 설명을 주셔서 감사합니다. 파인더가 심볼릭 링크의 "Kind"속성을 "Alias"로 표시하는 것은 혼란 스럽습니다.
Senseful

4
: 탭 완성이 작업을 수행하는 경우, 너무 멋진 일이다 ln -s ~/Foo<tab>(<탭> 키보드의 실제 ⇥ (탭) 키를 나타낸다), 단 하나 개의 폴더가있는 경우 그에 "푸"로 시작이 ~후 자동 것이다 경로를 확장하십시오 ~/Foo\ Bar/.
Jason Salaz

답변:


41

따옴표는 ~홈 폴더로 확장되지 않으므로 공백이있는 부분 만 따옴표로 묶어야 합니다.

ln -s ~/"Foo Bar/" Foo

참고 : 인용 된 부분에 공백이 있고 ~ /가 아닌 한 정확하게 인용되는 양은 중요하지 않습니다. ~/Foo" "Bar/, ~/"Foo Bar"/, ~/Fo"o B"ar/등은 모두 동일합니다. 또한, 단일 및 이중 따옴표 때문에, (그들은 다른 문자에 차이가 있지만) 공간에 동일한 효과를 ~/'Foo Bar/', ~/Foo' 'Bar/등 것 또한 작동합니다.

이스케이프를 사용하여 공간이 분리 자로 취급되지 않도록 할 수도 있습니다.

ln -s ~/Foo\ Bar/ Foo

5
당신은 공간을 심각하게 인용 할 수 있습니까? 대단해!
Jason Salaz

또는 "$HOME/Foo Bar/".
wchargin

@wchargin 작동합니다. 그와는 달리 주 ~, $HOME 해야 홈 디렉토리에 공백이나 기타 이상한 문자가 포함 된 경우 혼란을 방지하기 위해 이중 따옴표로합니다. "$HOME/Foo Bar/"(당신이 제안으로), "$HOME"/Foo" "Bar/, "$HOME"/Foo\ Bar/, 등 작동합니다.
Gordon Davisson

0

나는 그것을 직접 테스트했다. 나는 공간에 문제가 없다.

    $ ln -s "/Users/joe/test/foo bar"/ linkToFoo_Bar

ls shows : $ linkToFoo_Bar -> /Users/joe/test/foo bar/ 그리고 아무런 문제없이 터미널과 파인더에서 작동합니다.


10
~도우미가 아닌 전체 경로를 사용했습니다 .
Jason Salaz
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.