웹사이트 검색

초보자를 위한 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' 문자열과 함께 '?' 정규식을 사용하여 dir1dir2를 제거해 보겠습니다. 디렉토리:

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 명령의 기본 사용법을 살펴보았습니다. 그런 다음 장황한 모드와 하위 디렉터리 제거에 대해 논의했습니다. 다음으로 디렉터리가 비어 있지 않을 때 오류를 처리하는 방법을 살펴보았습니다. 마지막으로 정규식을 사용하는 방법에 대해 논의했습니다.