• 카테고리

    질문 & 답변
  • 세부 분야

    시스템

  • 해결 여부

    미해결

rm 명령어질문

22.10.13 03:15 작성 조회수 286

1

안녕하세요

rm -rf , rm -r 이 차이점이 궁금합니다

rm -rf를 하던 rm -r 을 하던 둘다 경고없이 그냥 디렉터리를 지우는데 무슨 차이인가요 ? 육안으로 확인하기가 어려워서 질문드립니다.

직접 해보았는데 두 명령어 다 디렉터리 안에 파일이 있던 없던 똑같이 삭제가 됩니다. ( 경고없이 )

답변 1

답변을 작성해보세요.

3

안녕하세요. H K님

아시겠지만, rm 명령은 파일을 삭제하기 때문에 함부로 사용하면 큰일나죠. rm 명령어 내에 -i 옵션이 있습니다. 파일을 삭제할 때 사용자에게 진짜로 삭제할 것인지 물어보고 y로 대답하면 삭제하게 됩니다.

그래서 많은 사람들이 rm 명령어에 "rm -i"로 alias를 걸어둡니다. alias를 거는 방법은 다음과 같습니다.

alias rm="rm -i"

쉘에서 실행하셔도 되고, ~/.bashrc 파일에 넣어두시면 bash가 열릴 때마다 설정됩니다.

이렇게 하면 사용자가 입력한 rm 명령이 내부적으로 rm -i로 실행됩니다. 파일을 삭제할 때 진짜로 지울 것인지 물어보게 됩니다.

이렇게 -i 옵션을 넣어 디렉터리 rm -r 명령을 실행하는 경우 디렉터리를 지울지 물어봅니다. 그런데 rm -rf 명령을 내리면 물어보지 않고 그대로 삭제합니다. 즉, -i 옵션이 있어도 물어보지 않고 강제로 삭제하게 되는 것이죠. 이해 되시죠? :)

답변이 늦어져 죄송합니다.

H K님의 프로필

H K

질문자

2022.10.18

감사합니다