rmdir과 rm -r의 차이점


9

나는 일반적으로 rm 을 사용하여 디렉토리를 삭제합니다 .

rm -r myDir

그러나 나는 또 다른 명령 인 rmdir을 알고 있습니다.

rmdir myDir

이 두 명령의 차이점은 무엇이며 언제 사용해야합니까?


2
서브 디렉토리에 파일이있는 경우 rmdir이 작동합니까?
Jeff Schaller

1
rmdir(2)빈 디렉토리 만 제거 할 수 있는 시조 시스템 호출 을 참조하십시오 .
David Foerster

4
그건 그렇고, 사용하는 "올바른"절차가 있습니다 rm -r: (1) 명령을 입력하지만 입력하지 마십시오 (2) 키보드에서 손을 떼십시오 (3) Count to five (4) Enter 키를 누르십시오. 나는 위험한 모든 명령으로 이런 일을 시작했습니다. 내가하고있는 일을보고, 올바르게 입력했는지 확인하고, 예기치 않은 결과가 발생할 수 있는지 생각하십시오. 예를 들어 내 명령을 지우고 추가 검사를 먼저 수행합니다.
ajb

3
@ajb- rm -rf ~ /*내 홈 디렉토리를 정리하십시오. 또는 시스템을 청소하십시오. 항상 다시 확인하는 것이 좋습니다;).
톰 카펜터

1
@ajb rmdir그리고 같은 길이의rm -r 두 문자열 임을 주목 하십시오 :-)
Kusalananda

답변:


14

rm -r디렉토리와 그 내용을 모두 제거합니다. rmdir디렉토리가 비어있는 경우에만 디렉토리를 제거합니다. 다음을 사용하여 디렉토리와 모든 내용을 제거하고 싶습니다.

rm -rf <directory_to_be_removed>

17
-f필요하지 않은 경우 일반적으로 사용해서는 안됩니다 . -rf매번 사용하는 것이 편리 하지만 모든 안전 점검을 (거의) 비활성화합니다.
allo

5
-f예측할 수없고 되돌릴 수없는 결과를 초래할 수있는 rm의 깃발에 대한 불확실한 추천을위한 -1
cat

그래서 rmdir그냥 rm -d?
Stan Strum

@StanStrum -d은 표준 옵션이 아닙니다 rm.
Kusalananda

@cat rm명령 은 일반적으로 다음과 같은 결과를 초래할 수 있습니다. 이 -f플래그는 set -e스크립트에서 실행할 때 유용합니다 . 생각없이 사용하는 것은 불필요 하다는 데 동의합니다 .
Kusalananda

1

당신은 사용해야 rm -r재귀 적 디렉토리의 모든 내용, 또는 때 대상이 디렉토리 나 파일이있을 수 있습니다를 제거하고자 할 때 당신은 상관없이 무엇을 삭제할.

rmdir빈 디렉토리를 제거 할 때 사용해야합니다 .

rmdir명령은 비어 있지 않은 디렉토리와 파일을 제거하지 않기 때문에 유용합니다. 이는 삭제하려는 항목이 디렉토리인지, 스크립트를 삭제하기 전에 디렉토리가 비어 있는지 (예 : 스크립트에서), 오류 조건으로 취급하려는 경우에 대비하여 안전 조치로 사용됩니다. 그렇지 않으면.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.