디렉토리와 그 내용을 모두 제거하려면 어떻게합니까?


141

bash에서 내가 아는 것은

rmdir directoryname

비어있는 경우에만 디렉토리를 제거합니다. 하위 디렉토리를 강제로 제거하는 방법이 있습니까?

답변:


216

다음 명령이 자동으로 수행됩니다. 그래도주의하십시오.

rm -rf directoryname

52
"-f"는 "-force"로, 일부 상태 검사 및 프롬프트를 무시합니다. 시작하는 것이 더 안전한 명령은입니다 rm -r directoryname.
Jim Paris

어떤 이유로 rm: invalid option -- rrm -r <directoryname>으로 디렉토리를 삭제하려고 할 때 오류가 발생합니다.
Sunspawn

@Sunspawn 이 질문해당 되는지 확인하려면이 관련 질문 을 확인하십시오.
Marc.2377

1
@JimParis "safer"라는 단어는 상대적이라고 생각합니다. 원격 컴퓨터에서 실행할 스크립트를 작성한다고 가정하십시오. 이 스크립트에는 디렉토리를 제거하는 명령이 있습니다. 여기서는 rm -rf directoryname사용자 입력을 기다리고 있기 때문에 스크립트 실행을 일시 중지하지 않으려는 coz 를 사용하는 것이 "안전"합니다 . 물론, 디렉토리를 삭제해도 아무런 해를 끼치 지 않아야합니다.
John Red

7

경우에 rm -rf directoryname당신을 실패 사용해보십시오 rm -R -f directoryname, 또는 rm --recursive -f directoryname.

이것으로 운이 없다면, rm을 다시 설치하거나 쉘을 전환하는 것을 고려해야합니다.


이것들은 내 rm 매뉴얼 페이지에서 사용할 수있는 옵션이었습니다. man rm재귀 삭제와 강제 옵션에 대한 옵션을 보려면 입력하여 찾아보십시오 .
saterHater

귀하의 rm매뉴얼 페이지가 -r있습니까? 무엇을합니까? (단지 파일 및 하위 디렉토리 만 포함하여 테스트 목적으로 작성한 디렉토리에서 시도하십시오.) 어떤 운영 체제를 사용하고 있습니까?
G-Man

PS rm -r작동하지 않으면 쉘 문제가 아니라 OS 문제 일 것입니다. (엄밀하게 말하면 사용 rm중인 버전에 문제가 있으므로 다른 버전을 설치 rm하거나 시스템을 검색하여 rm다른 디렉토리가 아닌 다른 디렉토리에 다른 버전이 있는지 확인 하여 문제를 해결할 수 있습니다 /bin.)
G-Man

아 맞아 man rm터미널에서 실행했을 때 less텍스트 뷰어 와 함께 텍스트 파일을 제공했습니다 . 나는 스크롤하여 -R 옵션 과 --recursive 옵션이 -r 옵션과 동일하게 된 들여 쓰기 된 항목을 찾았 습니다 .이 인수는 모두 동일하다는 것을 나타냅니다.
saterHater

1
편집 : 시도sudo rm -r directoryName 했습니까? 기본 명령의 기록되지 않은 규칙은 -r프로그램이 파일 시스템의 모든 파일에서 재귀 적으로 실행되도록하고 (선택한 위치에서 시작하는 경우), -f는 위험 하더라도 강제로 작업을 수행한다는 것 입니다. 'cd', 'mv', 'ls'는 대부분 이 원칙을 따릅니다. ls -r /duzie cp -rf / /dev/null가 될 것이고 파일 시스템의 모든 것을 파괴 할 것입니다. <-그 명령을 실행하지 마십시오!
saterHater는
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.