Home
702 words
4 minutes
【Unix】rmdirの解説
2025-03-02

最終更新:2025-03-02

概要#

rmdirコマンドは、空のディレクトリを削除するためのUnixコマンドである。ディレクトリ内にファイルや他のディレクトリが存在する場合は削除に失敗する。この性質によって、誤って重要なファイルが含まれたディレクトリを削除してしまうことを防ぐことができる。

コマンドの使用方法#

rmdir [オプション] ディレクトリ名...

複数のディレクトリ名を指定することで、一度に複数の空ディレクトリを削除できる。

オプション一覧と詳細#

  • -p, --parents
    指定したパスの親ディレクトリも、それが空になった場合に連続して削除する。
  • -v, --verbose
    削除の処理内容を詳細に表示する。
  • --ignore-fail-on-non-empty
    削除対象のディレクトリが空でない場合でもエラーメッセージを表示せず処理を続行する。
  • --help
    ヘルプメッセージを表示して終了する。
  • --version
    バージョン情報を表示して終了する。

ハンズオン(オプションと出力例)#

1. 基本的な使用方法#

空のディレクトリを削除する一番シンプルな形式である。

mkdir test_dir
rmdir test_dir

出力例:

(何も表示されません)

通常、Unixコマンドは成功時に何も出力しないことが多い。

2. -p オプション(親ディレクトリも削除)#

ネストしたディレクトリ構造を一度に削除する場合に便利である。

mkdir -p parent/child/grandchild
rmdir -p parent/child/grandchild

出力例:

(何も表示されません)

このコマンドは、grandchildディレクトリを削除し、その後childparentディレクトリが空になれば順次削除する。

3. -v オプション(詳細表示モード)#

削除した内容を確認したい場合に役立つ。

mkdir verbose_test
rmdir -v verbose_test

出力例:

rmdir: removing directory, 'verbose_test'

4. —ignore-fail-on-non-empty オプション#

非空ディレクトリを削除しようとした場合のエラーメッセージを抑制する。

mkdir non_empty_dir
touch non_empty_dir/file.txt
rmdir --ignore-fail-on-non-empty non_empty_dir

出力例:

(何も表示されません)

ディレクトリ内にファイルがあるため削除は失敗するが、エラーメッセージは表示されない。

5. -p と -v の組み合わせ#

親ディレクトリも削除し、詳細も表示する。

mkdir -p combo/test/dir
rmdir -pv combo/test/dir

出力例:

rmdir: removing directory, 'combo/test/dir'
rmdir: removing directory, 'combo/test'
rmdir: removing directory, 'combo'

ディレクトリが削除される過程が順に表示される。

6. 複数のディレクトリを一度に削除#

mkdir dir1 dir2 dir3
rmdir dir1 dir2 dir3

出力例:

(何も表示されません)

7. 空でないディレクトリを削除しようとした場合#

mkdir non_empty
touch non_empty/sample.txt
rmdir non_empty

出力例:

rmdir: failed to remove 'non_empty': Directory not empty

このエラーメッセージは、ディレクトリが空でないため削除できないことを示している。

rmdirコマンドは、特にシェルスクリプトで一時ディレクトリを安全に削除したい場合や、ディレクトリ構造を整理する際に役立つ。より強力な削除にはrm -rコマンドがあるが、rmdirは空ディレクトリだけを対象とする安全なコマンドである点が特徴となっている。

【Unix】rmdirの解説
https://ss0832.github.io/posts/20250302_rmdir_command_guide/
Author
ss0832
Published at
2025-03-02