カテゴリ: Linuxコマンド集 更新日: 2025/12/11

rm -dオプションの使い方!空のディレクトリだけを削除する安全なLinux操作方法

rm -dオプション|空のディレクトリだけを削除する方法
rm -dオプション|空のディレクトリだけを削除する方法

先生と生徒の会話形式で理解しよう

生徒

「Linuxでフォルダを消したいんですが、中に何も入っていない空のディレクトリだけを削除するにはどうすればいいですか?」

先生

「それならrm -dオプションを使うといいですよ。これは中身が空っぽのディレクトリだけを削除するための方法です。」

生徒

-r-Rとの違いは何ですか?」

先生

「いい質問ですね。それではrm -dの意味や使い方、注意点も含めて詳しく説明していきましょう。」

1. rmコマンドとは?

1. rmコマンドとは?
1. rmコマンドとは?

rmコマンドは、Linuxでファイルやディレクトリを削除するための基本的なコマンドです。
Windowsでいう「ゴミ箱へ移動」とは異なり、完全に削除されるので元に戻すことはできません。

特にディレクトリを扱う際には、慎重に使うことが大切です。

2. -dオプションの意味とは?

2. -dオプションの意味とは?
2. -dオプションの意味とは?

-dは、空のディレクトリだけを削除するためのオプションです。

通常のrmでは、ディレクトリを直接削除することはできませんが、-dを付けることで、中身が空っぽのディレクトリであれば削除できます。

3. rm -dの基本的な使い方

3. rm -dの基本的な使い方
3. rm -dの基本的な使い方

たとえば、「empty_folder」という中身が何もないディレクトリを削除したい場合、次のようにコマンドを入力します。


rm -d empty_folder

この操作で、「empty_folder」が削除されます。

4. 中にファイルがあるとrm -dでは削除できない

4. 中にファイルがあるとrm -dでは削除できない
4. 中にファイルがあるとrm -dでは削除できない

-d空のディレクトリ専用なので、もし中にファイルや別のフォルダが入っていると、削除はできません。

たとえば次のようなディレクトリがあるとします:


ls my_folder
file1.txt

このように中身がある場合にrm -d my_folderを実行すると、エラーになります。


rm -d my_folder
rm: cannot remove 'my_folder': Directory not empty

5. ディレクトリが空かどうか調べる方法

5. ディレクトリが空かどうか調べる方法
5. ディレクトリが空かどうか調べる方法

削除する前に、ディレクトリが空かどうか確認するには、lsコマンドを使いましょう。


ls empty_folder

中身が何も表示されなければ空です。

6. rmdirとの違いを理解しよう

6. rmdirとの違いを理解しよう
6. rmdirとの違いを理解しよう

実は、rm -dと同じような機能を持ったコマンドにrmdirがあります。

この2つの違いは次のとおりです:

  • rm -d:ファイル削除と組み合わせて使える。空のディレクトリも削除できる。
  • rmdir:空のディレクトリ専用コマンド。ファイルは削除できない。

どちらでも同じ結果になりますが、rm -dは他のオプションと組み合わせられるため、柔軟な使い方ができます。

7. ワイルドカードとrm -dを使う方法

7. ワイルドカードとrm -dを使う方法
7. ワイルドカードとrm -dを使う方法

たとえば、「temp1」「temp2」「temp3」などの空のフォルダをまとめて削除したい場合は、次のようにワイルドカード(*)を使って削除できます。


rm -d temp*

ただし、ワイルドカードを使った場合でも、中に1つでもファイルがあるとそのディレクトリは削除されません。

8. 削除前に確認付きで使うには?

8. 削除前に確認付きで使うには?
8. 削除前に確認付きで使うには?

-iオプションを組み合わせることで、削除前に「本当に消してもよいか」の確認を出すことができます。


rm -di empty_folder
rm: remove directory 'empty_folder'?

yと入力すれば削除、nと入力すればキャンセルされます。慎重に操作したいときに便利です。

9. rootユーザーでもrm -dは同じ動作

9. rootユーザーでもrm -dは同じ動作
9. rootユーザーでもrm -dは同じ動作

rm -dは一般ユーザーでもrootユーザーでも同じように動作します。ただし、削除しようとするディレクトリの所有者でなければ、パーミッションエラーになります。


rm -d /tmp/old_logs

このようにrootで実行すれば、権限がある限り削除可能です。とはいえ、空でないディレクトリの場合はエラーになります。

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

rmコマンドとは何ですか?Linuxでどんなときに使うのですか?

rmコマンドは、Linuxでファイルやディレクトリを削除するために使う基本的なコマンドです。Windowsの「ゴミ箱」とは異なり、削除したものは元に戻せないので注意が必要です。
関連記事:
カテゴリの一覧へ
新着記事
New1
ファイル・ディレクトリ操作
stat -Lオプションの使い方を解説|シンボリックリンクをたどってファイル情報を確認しよう
New2
ファイル・ディレクトリ操作
realpath -eオプションの使い方を解説!Linuxで存在するファイルのみ絶対パスを取得する方法
New3
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
New4
ファイル・ディレクトリ操作
touch --referenceオプションの使い方を完全ガイド!初心者でもわかるタイムスタンプのコピー方法
人気記事
No.1
Java&Spring記事人気No1
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.2
Java&Spring記事人気No2
ファイル・ディレクトリ操作
rmコマンドとは?Linuxでファイルやディレクトリを削除する基本
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
cpコマンドとは?Linuxでファイルやディレクトリをコピーする基本操作を初心者向けに解説
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
lsコマンドとは?Linuxでファイルやディレクトリを一覧表示する基本を初心者向けに解説