utte

rmdir 空のディレクトリを削除する

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

試してみる

主なオプション

-p指定したディレクトリを消したあと、空になった親ディレクトリも順に消す
-v処理したディレクトリを表示する
--ignore-fail-on-non-emptyディレクトリが空でないことによる失敗を無視する

解説

空のディレクトリだけ

rmdir が削除できるのは、中身が空のディレクトリだけです。中にファイルがあると「Directory not empty」のエラーになります。これは、うっかり中身ごと消してしまうことを防ぐ安全な性質です。

中身ごと消すには

中身を含めて消したいときは、rm -r ディレクトリ を使います。何が消えるかを確かめてから実行しましょう。

親ディレクトリも消す

rmdir -p a/b/c は、a/b/c、a/b、a の順に、空であれば削除します。mkdir -p a/b/c の逆の操作と考えると分かりやすいです。途中で空でないディレクトリに出会うと、そこで止まります。

試験での注意

ディレクトリの作成が mkdir、削除が rmdir で、ファイルの削除は rm です。ディレクトリを消すのに rm だけでは足りず、-r か -d が必要な点とあわせて覚えておきましょう。

関連するコマンド

LinuC 101の出題範囲