rmdir コマンドとは?
rmdir は 空のディレクトリのみを削除する シンプルなコマンドです。
中身が存在するディレクトリは削除できないため、誤操作を防ぎたい場合や限定的に削除を行いたい場面で有用です。
基本構文
rmdir [オプション] ディレクトリ名
使用例と出力サンプル
空のディレクトリを削除
$ rmdir emptydir
空でないディレクトリを削除しようとした場合
$ rmdir notempty/
rmdir: failed to remove 'notempty/': Directory not empty
よく使うオプション
| オプション | 説明 |
|---|
--ignore-fail-on-non-empty | 中身がある場合でもエラーを出さない(何もしない) |
-p | 親ディレクトリも再帰的に削除(すべて空の場合) |
-p オプションの使用例
$ rmdir -p tmp/a/b
この場合、b → a → tmp の順で空であれば削除されます。
rmdir と rm -r の違い
| 比較項目 | rmdir | rm -r |
|---|
| 削除できる対象 | 空のディレクトリのみ | 空・非空問わず全削除 |
| 安全性 | 高い(誤操作しにくい) | 危険(中身を一括削除) |
| 再帰削除 | できない(-pで空のみ) | 可能(-r で中身含む) |
| 一般的な用途 | 安全なディレクトリ整理 | 完全削除やクリーンアップ |
エラーと対処法
| エラー | 原因 | 解決策 |
|---|
| Directory not empty | 中身がある | 中身を削除 or rm -r 使用 |
| No such file or directory | 対象が存在しない | パスやスペルを確認 |
| Permission denied | 権限不足 | sudo を使う or パーミッションを確認 |
まとめ
rmdir は 空のディレクトリだけを削除する安全なコマンド
-p で空の親ディレクトリまで一括削除可能
rm -r との使い分けで、安全性と効率性を両立しよう
参考リンク
- https://man7.org/linux/man-pages/man1/rmdir.1.html
- https://www.gnu.org/software/coreutils/manual/html_node/rmdir-invocation.html