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