rmdir 명령어란 무엇인가?
rmdir(remove directory)은 리눅스와 윈도우에서 사용할 수 있는 명령줄 유틸리티로, 비어 있는 디렉터리만 삭제할 수 있습니다. 표준 rm 명령어는 내용물이 있는 디렉터리까지도 삭제할 수 있는 반면, rmdir는 파일이 담긴 디렉터리를 실수로 지우는 상황을 막아 주는 안전장치 역할을 합니다.
'rmdir: directory not empty' 오류는 비어 있지 않은 디렉터리, 즉 내부에 파일이나 다른 하위 디렉터리가 존재하는 폴더에 rmdir 명령을 실행했을 때 나타납니다. 이는 오류라기보다 rmdir의 의도된 동작 방식으로, 리눅스를 비롯해 rmdir 유틸리티를 제공하는 대부분의 운영체제에서 동일하게 표시됩니다.
리눅스에서 'rmdir: directory not empty' 오류 해결하기
몇 가지 간단한 방법으로 이 오류를 해결할 수 있습니다. 비어 있지 않은 디렉터리에 명령을 실행한 경우가 대표적이며, 그 외에 심볼릭 링크(symlink) 문제 같은 다른 원인도 있을 수 있습니다. 아래에서 시도해 볼 만한 해결 방법들을 하나씩 살펴보겠습니다.
1. rm -rf 옵션 사용하기
오류가 발생했다면 리눅스의 rm 명령어로 비어 있지 않은 디렉터리를 삭제할 수 있습니다. 먼저 삭제하려는 디렉터리에 ls -a 명령을 실행해 실제로 내용물이 있는지, 그리고 오류가 다른 원인에서 비롯된 것이 아닌지 확인하세요. 출력 결과에 파일이 보인다면 rm -rf 명령으로 디렉터리를 삭제하면 됩니다.
예시: abcd라는 디렉터리를 삭제하려는 상황을 가정해 보겠습니다.
ls -a 명령으로 디렉터리 내부를 확인한 결과, 일부 파일이 존재하는 것을 확인했습니다. 이 상태에서 rmdir 명령을 실행하면 디렉터리가 비어 있지 않기 때문에 오류가 발생합니다.
이럴 때 가장 간단한 해결책은 해당 디렉터리에 rm -rf를 사용하는 것입니다.
rm -rf abcd
- -r(recursive): 재귀적 삭제를 의미하며, 디렉터리 내부의 모든 파일과 하위 디렉터리까지 한꺼번에 삭제합니다.
- -f(force): 강제 삭제를 의미하며, 별도의 확인 절차 없이 즉시 삭제를 진행합니다.
현재 사용자에게 해당 디렉터리에 대한 쓰기 권한이 없다면 다음과 같이 입력합니다.
sudo rm -rf abcd
주의: sudo를 rm과 함께 사용하는 것은 자신이 무엇을 하는지 정확히 알고 있을 때만 권장됩니다. 루트(root) 권한으로는 시스템 디렉터리까지 삭제할 수 있으므로, 대상이 시스템 디렉터리가 아닌지 반드시 확인하세요.
2. 파일 관리자로 삭제하기
드문 경우지만, rm 명령어에 -f와 -r 플래그를 함께 사용해도 삭제되지 않던 파일이 파일 관리자(GUI)로는 정상적으로 삭제되는 사례가 보고된 바 있습니다. 명령줄에서 삭제가 잘 되지 않는다면 이 방법을 시도해 보세요.
우분투를 포함한 대부분의 리눅스 배포판에는 파일 관리자가 기본으로 설치되어 있습니다. 예를 들어 우분투 사용자라면 기본 탑재된 노틸러스(Nautilus) 파일 관리자로 디렉터리를 손쉽게 삭제할 수 있으며, 다른 파일 관리자를 사용해도 무방합니다.
윈도우에서 'rmdir: directory not empty' 오류 해결하기
윈도우에서도 명령 프롬프트(cmd)나 PowerShell로 디렉터리를 삭제할 때 같은 오류가 발생할 수 있습니다. 이 경우 아래 방법들을 시도해 보세요.
- 앞서 소개한 rm -rf 방식을 활용합니다. PowerShell에서는
rm이 Remove-Item cmdlet의 별칭으로 동작하므로rm -r -fo또는Remove-Item -Recurse -Force형태로 사용할 수 있습니다. - 삭제하려는 디렉터리를 다른 프로그램이 사용 중이지 않은지 확인합니다. 프로그램이 디렉터리를 점유하고 있다면 작업 관리자(Task Manager)에서 해당 프로그램을 종료하세요.
그런 다음 cmd 또는 PowerShell에서 rmdir 또는 rm -rf 명령으로 디렉터리를 다시 삭제해 보면 됩니다.
마무리
'rmdir: directory not empty' 오류는 명령어의 안전장치가 작동한 결과일 뿐입니다. 내용물까지 완전히 삭제하려면 rm -rf를, GUI 환경을 선호한다면 파일 관리자를 활용하면 됩니다. 다만 삭제 작업은 되돌릴 수 없으므로, 실행 전에 대상 경로를 반드시 확인하는 습관이 중요합니다.
작성자 소개
케빈 애로우즈(Kevin Arrows)는 10년 이상의 업계 경력을 지닌 기술 전문가로, MCTS(Microsoft Certified Technology Specialist) 자격증을 보유하고 있으며 최신 기술 동향을 꾸준히 학습하는 데 큰 열정을 가지고 있습니다. 소프트웨어 개발, 사이버 보안, 클라우드 컴퓨팅 등 다양한 기술 분야에서 폭넓게 집필해 왔으며, 복잡한 기술 개념을 명확하고 간결하게 설명하는 능력으로 업계 동료들의 인정을 받고 있습니다.