리눅스 명령어 rmdir 사용법 및 3가지 옵션

리눅스에서 파일과 디렉터리를 관리하는 것은 매우 중요합니다. 그중에서도 빈 디렉터리를 삭제하는 명령어 rmdir는 자주 사용됩니다. 이 포스팅에서는 리눅스 명령어 rmdir의 기본 사용법부터 다양한 옵션과 활용 방법까지 자세히 알아보겠습니다.

리눅스 명령어 rmdir이란?

rmdir 명령어는 “remove directory”의 줄임말로, 빈 디렉터리를 삭제할 때 사용하는 리눅스 명령어입니다. 주의할 점은, rmdir 명령어는 빈 디렉터리만 삭제할 수 있다는 것입니다. 디렉터리 안에 파일이나 다른 디렉터리가 있을 경우 삭제가 불가능합니다.

rmdir 기본 사용법

`rmdir` 명령어의 기본 사용법은 매우 간단합니다. 아래의 형식을 따릅니다:

rmdir [옵션] 디렉터리명
ShellScript

예를 들어, 빈 디렉터리 example을 삭제하려면 다음과 같이 입력합니다:

rmdir example
ShellScript

아래 그림은 example 디렉터리를 삭제하기 전과 삭제한 결과를 확인한 것입니다.

그림 1. 리눅스 명령어 rmdir로 example 디렉터리 삭제
그림 1. 리눅스 명령어 rmdir로 example 디렉터리 삭제

rmdir 옵션

-v 옵션(verbose): 삭제 상제 정보

-v 옵션을 사용하면 삭제한 파일의 정보를 함께 제공해 줍니다. 아래의 코드는 와일드카드(*)를 함께 사용해서 test로 시작하는 모든 디렉터리를 삭제합니다.

rmdir -v test*
ShellScript

아래 그림은 test로 시작하는 모든 디렉터리를 삭제한 결과 어떤 디렉터리가 삭제 되었는지 각각의 결과를 보여줍니다. test.txt는 디렉터리가 아니라 파일이므로 삭제하는데 실패했다고 알려줍니다.

그림 2. 리눅스 명령어 rmdir -v로 삭제하는 디렉터리 상세 확인
그림 2. 리눅스 명령어 rmdir -v로 삭제하는 디렉터리 상세 확인

-p 옵션(parents): 부모 디렉터리까지 삭제

-p 옵션은 빈 디렉터리뿐만 아니라, 그 부모 디렉터리가 빈 경우에도 함께 삭제합니다. 이 옵션은 중첩된 빈 디렉터리를 한 번에 삭제할 때 유용합니다.

rmdir -p example/subdir
ShellScript

위 명령어는 subdir와 그 상위 디렉터리인 example이 빈 경우에 모두 삭제합니다.

아래 그림은 위의 명령어를 실행한 결과입니다. tree 명령어를 사용해서 디렉터리 구조를 함께 확인했습니다. example 디렉터리와 subdir 디렉터리의 하위에 어떤 파일도 있지 않기 때문에 모두 삭제된 것을 확인할 수 있습니다.

그림 3. 리눅스 명령어 rmdir -p로 상위 디렉터리와 하위 디렉터리 모두 삭제
그림 3. 리눅스 명령어 rmdir -p로 상위 디렉터리와 하위 디렉터리 모두 삭제

--ignore-fail-on-non-empty 옵션: 비어 있지 않은 디렉터리 무시

--ignore-fail-on-non-empty 옵션은 디렉터리가 비어 있지 않은 경우 발생하는 오류 메시지를 무시합니다. 이 옵션은 스크립트에서 여러 디렉터리를 삭제할 때 유용하게 사용할 수 있습니다.

rmdir --ignore-fail-on-non-empty example
ShellScript

위 명령어는 example 디렉터리가 비어 있지 않더라도 오류를 무시하고 계속 진행합니다.

아래에서는 -v 옵션을 이용했기 때문에 example 디렉터리를 삭제한다고 나오지만, 하위 디렉터리인 example 디렉터리에 a.txt 파일이 있으므로 삭제되지 않습니다.

그림 4. 리눅스 명령어 rmdir --ignore-fail-on-non-empty 비어있지 않은 디렉터리 무시
그림 4. 리눅스 명령어 rmdir –ignore-fail-on-non-empty 비어있지 않은 디렉터리 무시

rmdir 명령어 사용 시 주의사항

빈 디렉터리만 삭제 가능

rmdir 명령어는 빈 디렉터리만 삭제할 수 있습니다. 디렉터리 안에 파일이나 다른 디렉터리가 있을 경우, 삭제가 불가능하며 오류 메시지가 출력됩니다.

권한 문제

디렉터리를 삭제할 권한이 없는 경우, rmdir 명령어를 사용할 수 없습니다. 이 경우 sudo 명령어를 사용하여 권한을 획득할 수 있습니다.

sudo rmdir example
ShellScript

복구 불가능

rmdir 명령어를 사용해서 한 번 삭제된 디렉터리는 복구할 수 없습니다. 물론 디렉터리 한 개를 삭제한 정도야 다시 mkdir 명령어를 이용해서 디렉터리를 만들어주면 되겠죠. 하지만, 하위 디렉터리 구조가 복잡한데 삭제를 했다면 복구하기도 꽤 번거로워질 수 있습니다. 따라서 rmdir 명령어를 사용할 때는 신중해야 합니다.

rmdir 명령어 활용 방법

빈 디렉터리 구조 정리

rmdir 명령어는 프로젝트 디렉터리나 작업 공간에서 사용하지 않는 빈 디렉터리를 정리할 때 유용합니다. 주기적으로 빈 디렉터리를 삭제함으로써 디렉터리 구조를 깔끔하게 유지할 수 있습니다.

스크립트에서의 활용

많은 파일이나 디렉터리를 자동으로 관리하는 스크립트에서 rmdir 명령어를 활용할 수 있습니다. 예를 들어, 백업 작업 후 남은 빈 디렉터리를 정리할 때 사용할 수 있습니다.

아래 스크립트는 /backup 디렉터리 내 모든 빈 디렉터리를 찾아서 삭제합니다.

#!/bin/bash

# 백업 디렉터리 내 모든 빈 디렉터리 삭제
find /backup -type d -empty -exec rmdir {} \;
ShellScript

유사 명령어 rm

rm 명령어에서 -r 옵션을 이용하면 해당 디렉터리 및 하위 디렉터리와 파일들을 모두 삭제합니다. rmdir 명령어는 디렉터리가 비어있어야만 삭제가 되지만, rm 명령어는 비어있지 않아도 삭제하므로 특히 주의해서 사용해야 합니다.

rm 명령어의 자세한 사용 방법에 대해서는 리눅스 명령어 rm 사용법 및 4가지 옵션을 참고하시기 바랍니다.

정리

rmdir 명령어는 리눅스에서 빈 디렉터리를 삭제하는 데 필수적인 도구입니다. 기본 사용법은 간단하지만, 다양한 옵션을 활용하면 더욱 효율적으로 디렉터리를 관리할 수 있습니다. 빈 디렉터리를 정리하고 싶을 때 rmdir 명령어를 사용해 보세요.

리눅스 명령어를 잘 활용하면 시스템 관리가 훨씬 수월해집니다. 추가로 궁금한 사항이나 더 알고 싶은 내용이 있다면 언제든지 질문해 주세요!

이 글이 여러분의 리눅스 활용에 도움이 되길 바랍니다!

참고자료

관련 포스트

Leave a Comment