rmdirコマンドとは?Linuxで空のディレクトリを削除する方法を初心者向けに徹底解説

Linux

rmdirコマンドは、Linuxで空のディレクトリだけを削除するためのコマンドです。

Linuxでは、作業用ディレクトリや一時ディレクトリなどを作成する機会が数多くあります。不要になったディレクトリを削除したい場面で利用するのがrmdirコマンドです。

しかし、Linux初心者の方は次のような疑問を持つことが少なくありません。

  • rmコマンドとの違いは何?
  • Directory not emptyと表示されて削除できないのはなぜ?
  • Permission deniedとは何?
  • rm -rとどう使い分ければいいの?
  • 安全にディレクトリを削除する方法は?

rmdirコマンドは、削除対象が空のディレクトリだけに限定されているため、誤ってファイルまで削除してしまう危険が少なく、安全性の高いコマンドです。

この記事では、rmdirコマンドの基本的な使い方から、rmコマンドとの違い、削除できない原因、よくあるエラー、安全な利用方法まで初心者向けに詳しく解説します。

  1. rmdirコマンドとは?
  2. rmdirコマンドの基本構文
  3. rmdirコマンドを使う前に現在地を確認する
  4. 削除対象のディレクトリを確認する
  5. rmdirで削除できるのは空ディレクトリだけ
  6. Directory not emptyとは?
  7. 空のディレクトリか確認する方法
  8. rmdirコマンドとrmコマンドの違い
  9. rm -dとの違い
  10. rmdir -pオプションの使い方
  11. 複数のディレクトリをまとめて削除する
  12. rmdirコマンドでよくあるエラーと対処方法
    1. Directory not empty
    2. No such file or directory
    3. Permission denied
  13. rmdirコマンドを安全に使うポイント
  14. findコマンドと組み合わせて使う
  15. mkdirコマンドとの違い
  16. 実務ではどんな場面で使われる?
  17. rmdirコマンドを使った練習
    1. 1. ホームディレクトリへ移動
    2. 2. 練習用ディレクトリを作成
    3. 3. 作成されたことを確認
    4. 4. ディレクトリを削除
    5. 5. 削除されたことを確認
  18. rmdirコマンドを覚えると何ができるようになる?
  19. よくある質問
    1. rmdirコマンドとは何ですか?
    2. rmdirとrmコマンドの違いは何ですか?
    3. Directory not emptyとは何ですか?
    4. Permission deniedとは何ですか?
    5. 空のディレクトリか確認する方法はありますか?
    6. 複数のディレクトリを一度に削除できますか?
    7. rmdir -pとは何ですか?
    8. rm -rfではなくrmdirを使うメリットは何ですか?
    9. ディレクトリではなくファイルを削除したい場合はどうすればよいですか?
    10. 現在いる場所を確認する方法はありますか?
  20. まとめ

rmdirコマンドとは?

rmdirコマンドは、空になっているディレクトリだけを削除するLinuxコマンドです。

rmdirremove directoryの略で、日本語では「ディレクトリを削除する」という意味があります。

ただし、名前だけを見ると「ディレクトリなら何でも削除できる」と思ってしまうかもしれませんが、実際には中身が空であることが条件です。

例えば、次のような空ディレクトリがある場合は問題なく削除できます。

sample/

削除するには次のコマンドを実行します。

rmdir sample

正常に削除されると、通常は何も表示されません。

Linuxでは「何も表示されない=正常終了」というコマンドが多くあります。そのため、エラーメッセージが表示されなければ正常に処理が完了したと考えて問題ありません。

削除できたことを確認するには、次のようにlsコマンドを実行します。

ls

一覧からsampleディレクトリが消えていれば削除成功です。

rmdirコマンドの基本構文

rmdirコマンドの基本構文は次の通りです。

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

最も基本的な使い方は次のようになります。

rmdir work

workディレクトリが空であれば削除されます。

一方で、中にファイルやサブディレクトリが存在する場合は削除できません。

この仕様のおかげで、重要なファイルを誤って削除してしまうリスクを大きく減らせます。

rmdirコマンドを使う前に現在地を確認する

削除系コマンドを実行する前は、必ず現在地を確認する習慣を付けましょう。

pwd

例えば次のように表示されたとします。

/home/user/work

現在の作業場所が分かることで、「どのディレクトリを削除しようとしているのか」を正しく判断できます。

サーバーでは現在地を確認せずに削除コマンドを実行すると、意図しないディレクトリを削除してしまう危険があります。

Linux初心者のうちから、削除前は必ずpwdを実行するという習慣を身に付けることをおすすめします。

削除対象のディレクトリを確認する

現在地を確認したら、削除対象のディレクトリが本当に存在するか確認します。

ls

詳細まで確認したい場合は、次のコマンドを利用しましょう。

ls -la

通常は表示されない隠しファイルや隠しディレクトリも含めて確認できます。

削除前に一度確認するだけでも、誤操作を防ぐことにつながります。

rmdirで削除できるのは空ディレクトリだけ

rmdirコマンド最大の特徴は、空のディレクトリしか削除できないことです。

例えば次のようなディレクトリは削除できません。

sample/
├── memo.txt
├── image.png
└── config.ini

この状態でrmdirを実行すると、エラーになります。

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

これは「ディレクトリ内にファイルやサブディレクトリが残っているため削除できません」という意味です。

まずは中身を確認しましょう。

ls -la sample

不要なファイルを削除し、空になったことを確認してから再度rmdirを実行します。

Directory not emptyとは?

Directory not emptyは、「ディレクトリが空ではありません」という意味のエラーメッセージです。

rmdirコマンドでは最もよく発生するエラーであり、Linux初心者が最初につまずきやすいポイントでもあります。

例えば、次のようなディレクトリ構成があるとします。

sample/
├── memo.txt
└── image.png

この状態でrmdirコマンドを実行すると、ディレクトリ内にファイルが残っているため削除できません。

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

このエラーが表示された場合は、慌ててrm -rfを実行するのではなく、まず中身を確認しましょう。

ls -la sample

ファイルだけでなく、サブディレクトリが残っていても削除できません。

不要なファイルやサブディレクトリを削除し、完全に空になってからrmdirコマンドを実行してください。

空のディレクトリか確認する方法

削除前に本当に空なのか確認しておくと、安全に作業できます。

もっとも簡単なのは、lsコマンドを利用する方法です。

ls -la ディレクトリ名

例えば次のような結果であれば、ファイルが存在しています。

total 8
drwxr-xr-x 2 user user 4096 Jul 12 10:00 .
drwxr-xr-x 5 user user 4096 Jul 12 09:58 ..
-rw-r--r-- 1 user user    0 Jul 12 10:00 memo.txt

一方、...以外が表示されなければ、実質的に空のディレクトリです。

ディレクトリ構造全体を確認したい場合は、findコマンドも役立ちます。

find sample

サブディレクトリが残っていないかも確認できるため、安全に削除できます。

rmdirコマンドとrmコマンドの違い

Linux初心者が最も混乱しやすいのが、rmdirコマンドとrmコマンドの違いです。

コマンド 削除対象 ディレクトリ削除 中身ごと削除 初心者向け
rmdir 空ディレクトリ ×
rm ファイル ×
rm -r ディレクトリ
rm -rf ディレクトリ 〇(強制) ×

rmdirは空のディレクトリだけを削除できるため、安全性が高いコマンドです。

一方、rm -rはディレクトリ内のファイルやサブディレクトリもまとめて削除します。

削除範囲が大きくなるため、誤って重要なファイルを削除しないよう注意が必要です。

Linux初心者は、まずrmdirコマンドで安全な削除方法を身に付け、その後rm -rを学ぶことをおすすめします。

rm -dとの違い

rmコマンドには-dオプションがあり、空のディレクトリを削除できます。

rm -d sample

動作としてはrmdirコマンドとほぼ同じです。

ただし、Linuxの入門段階では「空ディレクトリはrmdirで削除する」と覚えておく方が理解しやすいでしょう。

実務でもrmdirコマンドを使用するケースは多く、Linux初心者にはこちらをおすすめします。

rmdir -pオプションの使い方

-pオプションを利用すると、親ディレクトリまでまとめて削除できます。

例えば、次のようなディレクトリ構成があるとします。

sample/
└── work/
    └── log/

すべて空ディレクトリであれば、次のコマンドで一度に削除できます。

rmdir -p sample/work/log

削除は下位ディレクトリから順番に行われます。

  • logを削除
  • workが空になれば削除
  • sampleも空になれば削除

途中で空ではないディレクトリがある場合は、その時点で削除は停止します。

大量の空ディレクトリを整理する際に便利なオプションです。

複数のディレクトリをまとめて削除する

rmdirコマンドでは、複数のディレクトリを同時に指定できます。

rmdir dir1 dir2 dir3

指定したディレクトリがすべて空であれば、一度に削除されます。

一部だけ空ではない場合は、そのディレクトリだけ削除に失敗し、他の空ディレクトリは削除されます。

rmdirコマンドでよくあるエラーと対処方法

rmdirコマンドでは、いくつかの代表的なエラーが発生します。

エラーメッセージの意味を理解しておくと、落ち着いて原因を特定しやすくなります。

Directory not empty

最も多いエラーです。

ディレクトリ内にファイルやサブディレクトリが残っています。

まずは中身を確認しましょう。

ls -la ディレクトリ名

不要なファイルを削除してから、もう一度rmdirを実行してください。

No such file or directory

指定したディレクトリが存在しません。

原因としては、次のようなケースが考えられます。

  • ディレクトリ名のスペルミス
  • 現在のディレクトリが違う
  • すでに削除されている

まず現在地を確認しましょう。

pwd

続いてディレクトリ一覧を確認します。

ls

目的のディレクトリが存在することを確認してから実行してください。

Permission denied

削除する権限がありません。

Linuxでは、ファイルやディレクトリごとにアクセス権限が設定されています。

まず所有者と権限を確認します。

ls -ld ディレクトリ名

必要に応じて、所有者や権限を変更してから削除します。

権限の変更については、chmodコマンドやchownコマンドの記事で詳しく解説します。

rmdirコマンドを安全に使うポイント

rmdirコマンドは比較的安全な削除コマンドですが、削除前には必ず確認を行うことをおすすめします。

おすすめの手順は次の通りです。

  1. pwdで現在地を確認する
  2. lsまたはls -laで対象を確認する
  3. 削除対象が本当に不要か確認する
  4. rmdirを実行する
  5. lsで削除できたことを確認する

この流れを習慣化することで、誤操作を大きく減らせます。

findコマンドと組み合わせて使う

空のディレクトリを探したい場合は、findコマンドと組み合わせることがあります。

find . -type d -empty

現在のディレクトリ以下に存在する空ディレクトリを一覧表示できます。

まず一覧だけを表示して、本当に削除してよいディレクトリか確認することをおすすめします。

特にサーバーでは、いきなり削除するよりも対象を確認してから作業する方が安全です。

mkdirコマンドとの違い

mkdirコマンドはディレクトリを作成するコマンドです。

rmdirコマンドは、その逆でディレクトリを削除するコマンドになります。

コマンド 役割
mkdir ディレクトリを作成する
rmdir 空ディレクトリを削除する

Linuxでは、この2つのコマンドをセットで覚えると理解しやすくなります。

実務ではどんな場面で使われる?

rmdirコマンドは、実際のLinuxサーバー運用でも利用されています。

例えば次のような場面です。

  • 不要になった一時ディレクトリの削除
  • アプリケーションの作業ディレクトリの整理
  • デプロイ後の不要ディレクトリの削除
  • ログ整理後に空になったディレクトリの削除
  • シェルスクリプトによるメンテナンス処理
  • Docker開発環境の後片付け
  • CI/CD実行後の不要ディレクトリ整理

実務では「rm -rf」でまとめて削除するよりも、安全性を優先してrmdirを利用するケースも少なくありません。

rmdirコマンドを使った練習

実際に操作しながら覚えてみましょう。

1. ホームディレクトリへ移動

cd

2. 練習用ディレクトリを作成

mkdir practice

3. 作成されたことを確認

ls

4. ディレクトリを削除

rmdir practice

5. 削除されたことを確認

ls

practiceが一覧から消えていれば成功です。

Linux初心者の方は、この一連の流れを何度か繰り返すことで、rmdirコマンドの使い方を自然に覚えられます。

rmdirコマンドを覚えると何ができるようになる?

rmdirコマンドを覚えることで、Linuxにおけるディレクトリ管理を安全に行えるようになります。

特にLinux初心者は、いきなりrm -rfを使用するよりも、まずはrmdirコマンドを覚えることをおすすめします。

rmdirコマンドを使えるようになると、次のようなことができるようになります。

  • 空のディレクトリを安全に削除できる
  • 不要になった作業用ディレクトリを整理できる
  • rmコマンドとの違いが理解できる
  • Directory not emptyエラーの原因が分かる
  • Linuxのディレクトリ管理の基本が身に付く
  • サーバー運用時の誤削除を防ぎやすくなる

Linuxでは「安全に削除する」という考え方が非常に重要です。

まずはrmdirコマンドで安全な削除方法を身に付け、その後にrm -rやrm -rfなどのより強力な削除コマンドを学ぶことで、事故を防ぎながらLinuxを扱えるようになります。

よくある質問

rmdirコマンドとは何ですか?

rmdirコマンドは、Linuxで空のディレクトリだけを削除するためのコマンドです。

rmdirとrmコマンドの違いは何ですか?

rmdirは空のディレクトリだけを削除します。

rmコマンドはファイルを削除するためのコマンドであり、rm -rを指定するとディレクトリごと削除できます。

Directory not emptyとは何ですか?

ディレクトリ内にファイルやサブディレクトリが残っているため削除できないことを意味します。

まずは次のコマンドで中身を確認してください。

ls -la ディレクトリ名

Permission deniedとは何ですか?

削除する権限がないことを意味します。

所有者やアクセス権限を確認しましょう。

ls -ld ディレクトリ名

空のディレクトリか確認する方法はありますか?

次のコマンドで確認できます。

ls -la ディレクトリ名

ファイルやサブディレクトリが表示されなければ、空のディレクトリです。

複数のディレクトリを一度に削除できますか?

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

rmdir dir1 dir2 dir3

rmdir -pとは何ですか?

親ディレクトリまでまとめて削除できるオプションです。

途中で空ではないディレクトリがある場合は、その時点で処理が停止します。

rm -rfではなくrmdirを使うメリットは何ですか?

rmdirは空のディレクトリしか削除できないため、誤ってファイルを削除してしまうリスクを減らせます。

Linux初心者は、まずrmdirコマンドを使うことをおすすめします。

ディレクトリではなくファイルを削除したい場合はどうすればよいですか?

ファイルを削除する場合は、rmコマンドを使用します。

rm sample.txt

現在いる場所を確認する方法はありますか?

現在の作業ディレクトリはpwdコマンドで確認できます。

pwd

まとめ

rmdirコマンドは、Linuxで空のディレクトリだけを安全に削除するためのコマンドです。

削除できない場合は、Directory not emptyやPermission deniedなどのエラーメッセージを確認し、原因を特定してから対処しましょう。

また、削除前には現在地や削除対象を確認する習慣を付けることで、誤操作を防ぐことができます。

まずはrmdirコマンドで安全なディレクトリ削除を身に付け、その後にrm -rやrm -rfなどの削除コマンドも学んでいきましょう。

コメント

タイトルとURLをコピーしました