리눅스 파일 삭제 명령어 rm rf 차이점과 실수 방지하는 alias 설정

리눅스 rm, rm -r, rm -f 차이는 뭘까?

파일 시스템 다룰 때 많이 보는 rm, 특히 rm -r이나 rm -f 옵션은 그 차이를 모르면 큰일 납니다. rm 자체는 파일 지우는 기본 명령어인데, -r은 폴더와 그 속에 뭐가 있어도 싹 다 지워버리고, -f는 사용자 확인 없이 무조건 쾅 지워서 자칫 잘못 쓰면 돌이킬 수 없는 참사가 벌어질 수 있어요.

rm과 rm -r, rm -f, 그리고 rm -rf의 실체

살짝 헷갈릴 수 있는데, rm은 단순히 파일 하나 지우는 데 쓰입니다. 폴더 안의 내용까지 싹 다 지우려면 -r이 필수고요. 왜냐면 일반 rm은 폴더를 건드리지 못해요. 그리고 -f 옵션은 삭제할 때 사용자에게 “진짜로 지울 건가요?” 같은 질문도 생략하는 무지막지한 옵션입니다.

그럼 둘을 합친 rm -rf는 뭐냐면, 재귀적 삭제에 묻지 않고 강제 삭제까지 다 포함해서 한 번에 폴더랑 내용 전부 날려버립니다. 현업에서 편하지만, 실수하면 큰일이라 늘 긴장하면서 써야 하는 명령이에요.

그냥 콕 집어서 알려주자면

명령어 사용 목적 주의할 점
rm 파일 하나씩 삭제 폴더는 안 지워짐
rm -r 폴더 및 내부 내용 삭제 복수 폴더 지울 때 조심
rm -f 삭제 시 묻지 않고 강제 실행 실수 시 복구 불가
rm -rf 재귀 + 강제 한번에 와우, 진짜 조심해야 함

왜 rm -rf가 그렇게 무섭냐면

제가 알기로도, 이 명령은 작은 실수 한 번에 전체 프로젝트 파일, 심지어 루트 경로까지 삭제 가능성이 있어서 수습이 안 돼요. “./” 붙이는 걸 깜빡하거나 공백 하나 잘못 입력하면 아찔합니다. 덧붙여 와일드카드를 쓸 때도 극도로 신중해야 하죠. 예전 동료는 “rm -rf *”를 앞뒤 경로 확인 없이 썼다가 ‘저장소 날림’ 사건으로 한동안 골머리 앓았답니다.

자, 그럼 실수 방지하려면?

가장 간단하고 효과적인 건 alias rm="rm -i" 이렇게 명령어를 재정의해서 파일 삭제 전에 쓰윽 “정말 삭제할래?”라고 묻도록 하는 거예요. 이거 정말 꽤 도움이 많이 됩니다. 작업할 때도 긴장감이 조금은 생겨서 말이죠.

보통 ~/.bashrc~/.zshrc에 넣어두고 터미널 재시작하면 적용돼요. 명령어 한 줄 추가하고 복잡한 명령 못지 않게 안전도를 훅 높일 수 있다는 사실!

근데 alias가 만능은 아니다

스크립트나 자동화할 때는 alias가 통하지 않는 경우가 많아서, 그 상황에선 다른 방법을 써야 해요. 예를 들어 삭제하기 전 대상 파일 목록 미리 출력해 확인하거나, 아예 복구 가능한 휴지통 타입 도구를 사용하는 게 현명합니다. 요즘은 safe-rm 같은 걸 달아서 시스템 기본 rm에 손대지 않고 안전장치를 거는 경우도 많아요.

내가 추천하는 업무 환경에서 삭제 안전하게 하는 팁

  • 지우기 전 꼭 파일명, 경로나 디렉터리 위치 한번 더 확인하자.
  • 와일드카드 사용할 땐 터미널 위치가 딱 맞는지 꼭 체크.
  • 중요한 폴더는 직접 눈으로 ls 등으로 확인부터!
  • 급하면 휴지통 기능 있는 도구 활용, 즉시 복귀 가능.
  • 습관적으로 rm -rf 쓰기보단 가끔은 확인 질문 띄우는 게 사고 줄여줘요.

사실 삭제 그 자체보다 더 중요한 건 ‘실수 방지 습관’입니다

아무리 편리한 명령어라도 한 번 실수하면 복구가 거의 불가능합니다. 저도 예전에 터미널 속도에 익숙해지면서 잘못 쳐서 고생한 적 있어요. 다행히 백업 덕분에 살긴 했지만, 그 뒤로는 무조건 두 번, 세 번 확인하는 버릇이 생겼습니다.

예컨대 경로를 지정할 때 절대경로나 상대경로를 헷갈리지 말고, 혹시 모를 상황에 대비해 따로 복사본을 만들어 놓는 것도 방법이죠. 그리고 자동화 스크립트를 짤 때는 삭제 대상 변수를 꼭 검증하는 코드도 넣는 게 좋습니다.

마지막으로, 정리하며

rm, rm -r, rm -f 각각의 쓰임과 리스크를 제대로 알고 쓰는 게 작업할 때 불안감도 훨씬 줄여줍니다. 간단하게 alias rm='rm -i' 같은 설정만 해 줘도 업무 효율과 안정성 모두 잡히니 꼭 활용해 보세요. 그리고 rm -rf는 멋 모르고 쓰면 안 되고, 항상 신중한 순간이 있음을 명심하시길!

리눅스 삭제 명령어 자주 하는 질문

rm이랑 rm -r 차이 뭐야?

rm은 파일, rm -r은 폴더 포함 지워요.

rm -f는 왜 위험하냐면?

삭제 확인 없이 강제로 바로 지웁니다.

alias rm=’rm -i’만 하면 돼?

일상에선 좋지만, 스크립트엔 무용지물이에요.