리눅스 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 명령어의 버전 정보를 출력 |
리눅스 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.
'IT > 리눅스 명령어' 카테고리의 다른 글
[Linux] 리눅스 cat 명령어, cat 옵션 종류 총정리 (0) | 2022.04.08 |
---|---|
[Linux] 리눅스 echo 명령어, echo 옵션 및 사용법 (1) | 2022.04.06 |
[Linux] 리눅스 pwd 명령어, pwd 옵션 총정리 및 환경변수 (1) | 2022.03.31 |
리눅스 touch 명령어, touch 옵션 총정리 리눅스 파일 만들기 (1) | 2022.03.30 |
리눅스 mkdir 옵션 리눅스 디렉토리 만들기 (2) | 2022.03.29 |
댓글