본문 바로가기
IT/리눅스 명령어

[Linux] 리눅스 rmdir 명령어, rmdir 옵션 및 사용법

by 꾸꾸웍스 2022. 4. 4.
반응형

리눅스 rmdir 명령어는 파일이 없는 빈 디렉토리를 삭제하는 명령어로 rm 명령어와는 옵션과 사용법이 다릅니다. 리눅스 rmdir 명령어의 올바른 사용법과 rmdir 옵션에 대한 총정리 및 rmdir 옵션 사용 예시, rmdir 오류에 대해 알아보겠습니다.

 

※ 목차 구성
1) 리눅스 rmdir 명령어란?
2) 리눅스 rmdir 명령어 사용법
3) 리눅스 rmdir 옵션
4) 리눅스 rmdir 옵션 사용 예시

 

반응형

 

리눅스 rmdir 명령어란?

리눅스 rmdir 명령어는 빈 디렉토리를 삭제하는 명령어입니다. 디렉토리가 비어있지 않으면 삭제를 할 수 없어서 명령어의 사용 빈도수 가 낮습니다. rmdir 명령어는 비어있는 디렉토리를 삭제하는 명령어이고 rm 명령어는 디렉토리 및 파일을 삭제할 수 있는 명령어입니다.

 

 

리눅스 rmdir 명령어 사용법

rmdir [옵션] [디렉토리 명]

리눅스 rmdir 명령어는 옵션 없이 사용할 수 있으며 옵션을 사용할 때 여러 개를 사용할 수 있습니다. rmdir 명령어 뒤에는 반드시 디렉토리명을 입력해야 됩니다. 옵션에 대한 설명은 다음 목차에 있는 'rmdir 옵션'을 참고하세요

리눅스 rmdir 사용 예시

root@server # tree
.
│── testdir1
│    └── file.txt
└── testdir2
2 directories, 1 file

root@server # rmdir testdir1
rmdir: failed to remove 'testdir1': Directory not empty

root@server # rmdir testdir2

root@server # ls -l
total 0
drwr-xr-x 2 root root 22 Sep 21 11:13 testdir1

testdir1 디렉토리 안에는 file.txt라는 파일이 존재하고 testdir2 디렉토리는 빈 디렉토리입니다. rmdir 명령어로 2개의 디렉토리를 삭제하면 testdir2는 삭제되지만 testdir1은 file.txt가 존재하기 때문에 빈 디렉터리가 아니어서 rmdir: failed to remove 'testdir1': Directory not empty 메시지가 출력되며 삭제되지 않습니다. 이런 경우에는 [ rm -r testdir1 ] 명령어를 이용해서 삭제합니다.

 

 

리눅스 rmdir 옵션

아래 내용은 리눅스 rmdir 옵션에 대한 설명입니다.

번호 옵션 long 옵션 설명
1 - --ignore-fail-on-non-empty 비어있지 않은 디렉토리를 삭제 할 시 삭제 할 수 없다는 메세지 출력 안함
2 -p --parents 경로로 상위디렉토리를 지정하였다면 상위 디렉토리도 삭제
3 -v --verbose 지워지는 디렉토리의 정보를 메세지로 출력
4 - --help rmdir 명령어의 사용법을 출력
5 - --version rmdir 명령어의 버전 정보를 출력

 

300x250

 

리눅스 rmdir 옵션 사용 예시

rmdir --ignore-fail-on-non-empty 옵션

--ignore-fail-on-non-empty 옵션은 long옵션으로 비어있지 않은 디렉터리를 삭제할 시 삭제할 수 없다는 메시지를 출력하지 않습니다. 아래 예시는 test1 디렉터리에 aa라는 파일이 존재하고 옵션 없이 rmdir을 사용 시 삭제되지 않으면서 디렉터리가 비어있지 않다는 메시지가 출력되지만 rmdir --ignore-fail-on-non-empty test1을 사용하면 메시지만 출력이 되지 않습니다.

user@server # ls -l
total 0
drwxr-xr-x 2 user user 16 Apr  4 10:19 test1

user@server # rmdir test1
rmdir: failed to remove ‘test1’: Directory not empty

user@server # rmdir --ignore-fail-on-non-empty test1

user@server # ls -l
total 0
drwxr-xr-x 2 user user 16 Apr  4 10:19 test1

리눅스 rmdir -p 옵션 --perents 옵션

리눅스 rmdir -p 옵션은 상위 디렉토리까지 지정하였다면 상위디렉터리까지 삭제하는 명령어 입니다. 다만 상위로 지정한 디렉토리 중 비어있는 것만 삭제되는 옵션입니다. 아래 예시는 test1/test2/test3/test4가 모두 비어있기 때문에 rmdir -p옵션으로 모두 삭제가 가능하지만 test2 디렉터리 안에 파일이 있다면 test3/test4까지만 삭제됩니다.

user@server # mkdir -p test1/test2/test3/test4

user@server # tree
.
└── test1
    └── test2
        └── test3
            └── test4

4 directories, 0 files

user@server # rmdir -p test1/test2/test3/test4

user@server # tree
.

0 directories, 0 files

리눅스 rmdir -v 옵션 --verbose 옵션

리눅스 rmdir -v 옵션은 rmdir 명령을 했을 때 메시지를 출력해 주는 옵션으로 디렉터리가 삭제되거나 삭제되지 않을 때 모두 메시지를 출력합니다. 아래 예시는 rmdir 명령어로 빈 디렉토리를 지우는 옵션입니다.

user@server # mkdir test1

user@server # rmdir -v test1
rmdir: removing directory, ‘test1’

user@server # mkdir -p test2/test3

user@server # rmdir -vp test2/test3
rmdir: removing directory, 'test2/test3'
rmdir: removing directory, 'test2'

rmidr -v 옵션으로 디렉토리를 삭제할 때 디렉토리에 파일이 존재한다면 디렉토리는 지워지지 않고 메시지를 출력합니다.

root@server # rmdir -v test1
rmdir: removing directory, 'test1'
rmdir: failed to remove 'test1': Directory not empty

rmdir --help 옵션

rmdir --help 옵션은 rmdir 명령어의 사용법을 출력합니다.

user@server # rmdir --help
Usage: rmdir [OPTION]... DIRECTORY...
Remove the DIRECTORY(ies), if they are empty.

      --ignore-fail-on-non-empty
                  ignore each failure that is solely because a directory
                    is non-empty
  -p, --parents   remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' is
                    similar to 'rmdir a/b/c a/b a'
  -v, --verbose   output a diagnostic for every directory processed
      --help     display this help and exit
      --version  output version information and exit

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
For complete documentation, run: info coreutils 'rmdir invocation'

rmdir --version 옵션

rmdir --version 옵션은 rmdir 명령어의 버전을 출력합니다.

### rmdir --version 옵션으로 rmdir 명령어의 버전을 출력
[ server 2022-04-04 10:43:22 ] ~/testdir
user@server # rmdir --version
rmdir (GNU coreutils) 8.22
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by David MacKenzie.

 

 

반응형
그리드형

댓글