it-swarm-korea.com

디렉토리에 대한 심볼릭 링크를 제거하는 방법?

다음 명령으로 심볼릭 링크를 만들었습니다.

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)

100
Peter Smit

후행 슬래시를 제거하십시오.

프롬프트 사용 :

$ rm test5

메시지없이 :

$ rm -f test5

120
Swanand

rm test5 사용해보기
(훈련 슬래시없이).

슬래시는 'test5'가 실제로는 파일 인 반면 디렉토리에 링크 한다는 것을 나타냅니다.

19
pelms

후행 슬래시 제거를 실행할 수 있습니다.

$ rm test5

그러면 파일 (즉, 심볼릭 링크)이 제거됩니다.

또는 연결 해제를 사용할 수도 있습니다.

$ unlink test5

다시 말해, 디렉토리가 아닌 심볼릭 링크를 해제하려고 시도하기 때문에 마침표를 생략해야합니다.

12
Callum

OP의 문제는 후행 /이므로 test5/는 오류를 발생 시키지만 test5는 작동합니다.

내 의도가 명확하고 실수로 링크 대신 실제 디렉토리를 제거 할 기회가 없기 때문에 unlink 대신 rm을 사용하는 것을 선호합니다. 디렉토리 이름 뒤에 /가 없는지 확인하십시오 (예 :

unlink test5
0
isapir

경우에 따라 자동 완성 기능을 사용하여 삭제하려는 링크의 이름을 지정하면 후행 슬래시가 표시되지 않지만 '반쪽'이 표시되며 해당 링크를 제거하려고 할 때 보이지 않는 슬래시로 삭제 오류가 표시되는 경우가 있습니다.

따라서이 경우 문자로 문자를 입력하고 예를 들어 "test5"로 삭제할 링크를 입력하십시오. rm test5.

0
user872812