디렉토리에 대한 심볼릭 링크를 제거하는 방법은 무엇입니까?


91

다음 명령으로 기호 링크를 만들었습니다.

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)


3
팁: rm -r link/ 대상의 내용을 삭제합니다.
Gayan Weerakutti

답변:


116

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

프롬프트 :

$ rm test5

프롬프트없이 :

$ rm -f test5


그것은 말한다 : permission denied.
1.21 gigawatts

후행 슬래시가 없습니다. 그래서 test5/ 부정확하다.
pylover

18

시험 rm test5
(훈련 슬래시없이).

슬래시는 'test5'가 실제로는 파일 인 반면에 대단원임을 나타냅니다. 연결 디렉토리로.


12

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

$ rm test5

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

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

$ unlink test5

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


0

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

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


1
눈에 보이지 않는 슬래시는 들어 본 적이 없습니다. 어떤 셸이 이것을합니까?
Kamil Maciorowski

linewrap + cursor에 의해 숨겨진 캐릭터에 대한 참조 일 가능성이 있습니까?
bertieb

-2

나는 어리석게 묻는다. 그러나 시험해 보았다. rm -r? 심볼릭 링크이므로 대상을 삭제하면 안됩니다.

편집 : 그냥 시도, 맞아요

편집 2 : rmdir는 맨 페이지의 첫 줄에서 빈 디렉토리를 삭제합니다. 그것이 링크 때문에 그것의 파일 속성에 체크 디렉토리 비트를 가지고 있기 때문에 생각하지만, rmdir 때문에 오류가 spits 경우되는 것으로 의심하지 않습니다. rm -r을 사용하면됩니다.


2
이렇게하면 디렉토리에있는 파일을 삭제하도록 요청할 것입니다. 원하는 것은 아니며 링크 만 삭제하려고합니다.
Peter Smit

대화 형이 .profile에 정의 되었기 때문에 묻는 것이 었습니다. rm -r에 응답을 추가했습니다. 여전히 작동하지 않습니다.
Peter Smit

당신은 후행 '/'을 남겨 두었습니다. 그것이 실패한 이유입니다.
bobby
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.