두 가지 질문이 있습니다. 첫 번째는 -sf
옵션을 위한 것이고 두 번째 는 옵션을보다 구체적으로 사용하는 것입니다 -f
.
인터넷 검색으로 command ln
, option -s
및 의 설명을 알아 냈습니다 -f
.
( http://linux.about.com/od/commands/l/blcmdl1_ln.htm 에서 복사 )
-s, --symbolic : make symbolic links instead of hard links
-f, --force : remove existing destination files
이러한 옵션을 개별적으로 이해합니다. 그러나 어떻게이 옵션 -s
과 -f
옵션을 동시에 사용할 수 있습니까? -s
링크 파일을 만드는 데 사용되며 링크 파일 -f
을 제거하는 데 사용됩니다. 이 상황을 이해할 수 없으며이 병합 옵션을 사용하는 이유는 무엇입니까?
ln
명령에 대해 더 많이 알기 위해 몇 가지 예를 들었습니다.
$ touch foo # create sample file
$ ln -s foo bar # make link to file
$ vim bar # check how link file works: foo file opened
$ ln -f bar # remove link file
다음 명령 전에 모든 것이 잘 작동합니다.
$ ln -s foo foobar
$ ln -f foo # remove original file
-f
옵션에 대한 설명에 따르면이 마지막 명령은 작동하지 않지만 작동하지 않습니다! foo
제거됩니다.
왜 이런 일이 발생합니까?
terdon의 답변에 이유를 추가하려면 ... 사용법 중 하나는 수동으로 라이브러리를 업데이트 할 때입니다. 이전 링크를 제거하기 위해 먼저 rm을 수행하고 새로운 링크를 작성하기 위해 ln -s를 두 단계로 수행하면 라이브러리가 작업간에 작동하지 않습니다 ... ln 명령에 라이브러리가 필요한 경우 큰 문제가됩니다. 일하다. 따라서 ln -sf를 사용하면 링크가 끊어지지 않고 이전 링크가 새 링크로 바뀝니다.
—
Baard Kopperud
-f
힘의 약자 (--force
); 제거하지 마십시오!