다음 명령으로 심볼릭 링크를 만들었습니다.
ln -s ../test5
지금 제거하고 싶지만 rm이 실패합니다.
$ rm -Rf test5/
rm: cannot remove `test5/': Not a directory
$ rm test5/
rm: cannot remove directory `test5/': Is a directory
$ rmdir test5/
rmdir: test5/: Not a directory
$rm -r test5/
rm: cannot remove `test5/': Not a directory
$ls -l
0 lrwxrwxrwx 1 peter peter 8 Jul 20 15:30 test5 -> ../test5/
심볼릭 링크를 제거하려면 어떻게해야합니까? (우분투 8.10, bash)
후행 슬래시를 제거하십시오.
프롬프트 사용 :
$ rm test5
메시지없이 :
$ rm -f test5
rm test5
사용해보기
(훈련 슬래시없이).
슬래시는 'test5'가 실제로는 파일 인 반면 디렉토리에 링크 한다는 것을 나타냅니다.
후행 슬래시 제거를 실행할 수 있습니다.
$ rm test5
그러면 파일 (즉, 심볼릭 링크)이 제거됩니다.
또는 연결 해제를 사용할 수도 있습니다.
$ unlink test5
다시 말해, 디렉토리가 아닌 심볼릭 링크를 해제하려고 시도하기 때문에 마침표를 생략해야합니다.
OP의 문제는 후행 /
이므로 test5/
는 오류를 발생 시키지만 test5
는 작동합니다.
내 의도가 명확하고 실수로 링크 대신 실제 디렉토리를 제거 할 기회가 없기 때문에 unlink
대신 rm
을 사용하는 것을 선호합니다. 디렉토리 이름 뒤에 /
가 없는지 확인하십시오 (예 :
unlink test5
경우에 따라 자동 완성 기능을 사용하여 삭제하려는 링크의 이름을 지정하면 후행 슬래시가 표시되지 않지만 '반쪽'이 표시되며 해당 링크를 제거하려고 할 때 보이지 않는 슬래시로 삭제 오류가 표시되는 경우가 있습니다.
따라서이 경우 문자로 문자를 입력하고 예를 들어 "test5"로 삭제할 링크를 입력하십시오. rm test5
.