초보자를 위한 Linux rmdir 명령 예
Linux 사용자로서 우리는 정기적으로 파일 및 디렉터리와 상호 작용합니다. 사용자가 수행하는 일반적인 작업 중 하나는 파일 시스템에서 디렉터리를 제거하는 것입니다. 그러나 디렉터리를 제거하는 동안에는 각별히 주의해야 합니다. 부주의하게 제거 작업을 수행하면 데이터가 손실될 수 있기 때문입니다.
초보자에게 친숙한 이 기사에서는 rmdir 명령에 대해 알아봅니다. 또한 일상생활에서 사용할 수 있는 몇 가지 실용적인 예에 대해서도 논의하겠습니다.
rmdir 명령의 구문은 다른 Linux 명령과 유사합니다. 상위 수준에서는 옵션과 인수의 두 부분으로 나뉩니다.
rmdir [OPTIONS] ... <DIRECTORY1> <DIRECTORY2> ...
여기서 대괄호 ([])
는 선택적 인수를 나타내고, 꺾쇠괄호 (<>)
는 필수 인수를 나타냅니다.
Linux에서 rmdir 명령의 기본 사용법
이름에서 알 수 있듯이 rmdir 명령은 디렉토리를 제거하는 데 사용됩니다. 그러나 빈 디렉터리만 제거할 수 있다는 점에 유의하는 것이 중요합니다. 이 섹션에서는 rmdir 명령의 기본 사용법을 살펴보겠습니다.
Linux에서 빈 디렉토리 삭제
먼저 몇 개의 빈 디렉터리를 만듭니다.
mkdir dir1 dir2 dir3 dir4
필요한 디렉터리가 생성되었는지 확인해 보겠습니다.
ls -l
이제 dir1 디렉토리를 제거하고 제거되었는지 확인해 보겠습니다.
rmdir dir1
ls -l
비슷한 방식으로 rmdir 명령을 사용하여 여러 개의 빈 디렉토리를 한 번에 제거할 수 있습니다.
나머지 디렉터리를 제거해 보겠습니다.
rmdir dir2 dir3 dir4
마지막으로 모든 디렉터리가 제거되었는지 확인합니다.
ls -l
여기서는 ls 명령이 어떤 디렉터리도 표시하지 않는 것을 볼 수 있습니다.
rmdir 상세 모드
이전 섹션에서는 ls 명령을 사용하여 디렉터리 제거를 확인했습니다. 그러나 이전 명령의 동작을 확인하기 위해 명령을 하나 더 실행하는 것은 의미가 없습니다.
이러한 경우 처리된 모든 디렉터리에 대한 진단을 제공하는 -v
옵션을 사용하여 상세 모드를 활성화할 수 있습니다.
이전에 만든 것과 동일한 디렉터리 구조를 만들어 보겠습니다.
mkdir dir1 dir2 dir3 dir4
이제 상세 모드가 활성화된 디렉터리를 제거해 보겠습니다.
rmdir -v dir1 dir2 dir3 dir4
ls -l
위 출력에서 모든 디렉터리가 제거되었다는 결론을 내릴 수 있습니다.
Linux에서 빈 하위 디렉터리 제거
우리는 종종 파일 시스템에 하위 디렉터리를 생성하여 데이터를 적절한 방식으로 구성할 수 있습니다. 빈 하위 디렉터리로 작업하는 방법을 살펴보겠습니다.
첫 번째 예에서 설명한 것처럼 rmdir 명령을 사용하여 여러 디렉터리를 제거할 수 있습니다. 그러나 하위 디렉터리의 수가 많으면 상황이 까다로워집니다.
이러한 경우 디렉토리와 모든 상위 항목을 제거하는 -p
옵션을 사용할 수 있습니다. 예를 들어 이것을 이해해 봅시다.
먼저 하위 디렉터리 구조를 만듭니다.
mkdir -p dir1/dir2/dir3/dir4/dir5
이 예에서는 mkdir 명령과 함께 -p
옵션을 사용하여 하위 디렉터리 구조를 만들었습니다.
한 번에 모든 디렉터리를 제거해 보겠습니다.
rmdir -p -v dir1/dir2/dir3/dir4/dir5
rmdir: removing directory, 'dir1/dir2/dir3/dir4/dir5'
rmdir: removing directory, 'dir1/dir2/dir3/dir4'
rmdir: removing directory, 'dir1/dir2/dir3'
rmdir: removing directory, 'dir1/dir2'
rmdir: removing directory, 'dir1'
여기서 상세 모드는 dir5 디렉토리와 모든 상위 디렉토리를 제거합니다.
디렉토리가 비어 있지 않음 실패 처리
우리는 rmdir이 빈 디렉토리만 제거할 수 있다는 것을 이미 알고 있습니다. 비어 있지 않은 디렉터리를 제거하려고 하면 오류가 발생합니다. 이는 데이터 손실에 대한 보호 기능을 제공하지만 드문 경우지만 문제가 발생할 수 있습니다.
예를 들어 Jenkins가 실행하는 스크립트에서 비어 있지 않은 디렉터리를 제거하려고 하면 작업이 실패를 보고합니다.
이를 시뮬레이션하기 위해 비어 있지 않은 디렉터리를 제거해 보겠습니다.
mkdir -p dir1/dir2/dir3/dir4/dir5
rmdir dir1
rmdir: failed to remove 'dir1': Directory not empty
이러한 오류의 경우 비어 있지 않은 디렉터리로 인해 발생한 모든 오류를 무시하는 --ignore-fail-on-non-empty
옵션을 사용할 수 있습니다.
이 옵션을 명령과 함께 사용하고 반환 값을 확인해 보겠습니다.
rmdir --ignore-fail-on-non-empty dir1
echo $?
0
이 예에서는 명령이 오류를 보고하지 않았으며 0 반환 값은 성공적인 명령 실행을 나타냅니다. 그러나 이 옵션은 오류를 억제할 뿐 비어 있지 않은 디렉터리를 제거하지 않는다는 점에 유의하는 것이 중요합니다.
rmdir 명령에서 정규식 사용
다른 Linux 명령과 마찬가지로 rmdir 명령과 함께 정규식을 사용할 수 있습니다. 다음 두 정규식의 사용법을 살펴보겠습니다.
?
– 정확히 한 문자와 일치합니다.*
– 이전 문자가 0개 이상 일치합니다.
먼저 몇 개의 빈 디렉터리를 만듭니다.
mkdir dir1 dir2 dir-01 dir-02
이제 'dir' 문자열과 함께 '?'
정규식을 사용하여 dir1 및 dir2를 제거해 보겠습니다. 디렉토리:
rmdir -v dir?
rmdir: removing directory, 'dir1'
rmdir: removing directory, 'dir2'
여기서는 명령이 올바른 디렉터리를 제거한 것을 볼 수 있습니다.
그런 다음 '*'
정규식을 사용하여 다른 두 디렉터리를 제거합니다.
rmdir -v dir-*
rmdir: removing directory, 'dir-01'
rmdir: removing directory, 'dir-02'
이 예에서는 다른 두 디렉터리가 제거된 것을 볼 수 있습니다.
이 섹션에서는 두 가지 정규 표현식의 사용법에 대해 논의했습니다. 그러나 rmdir 명령으로 다른 고급 정규 표현식을 사용할 수도 있습니다.
이 글에서는 먼저 rmdir 명령의 기본 사용법을 살펴보았습니다. 그런 다음 장황한 모드와 하위 디렉터리 제거에 대해 논의했습니다. 다음으로 디렉터리가 비어 있지 않을 때 오류를 처리하는 방법을 살펴보았습니다. 마지막으로 정규식을 사용하는 방법에 대해 논의했습니다.