Linuxを使い始めたばかりのとき、ディレクトリの削除方法が分からずに困った経験はありませんか。Windowsのようにゴミ箱へドラッグするだけでは済まず、コマンドを正しく理解しないと、意図しないファイルまで削除してしまうリスクがあります。
Linuxでディレクトリを削除するには、主にrmコマンドとrmdirコマンドを使います。しかしこの2つは動作が異なり、使い方を誤ると重要なデータを失うことにもなりかねません。
本記事では、それぞれのコマンドの基本から具体的な使用例、よくあるエラーの対処法、安全に削除するためのコツまでを体系的に解説します。初めてLinuxに触れる方から、コマンドの使い分けを整理したい中級者の方まで、すぐに実践できる内容です。
Linuxでディレクトリを削除する基本
Linuxで使える削除コマンド
Linuxでディレクトリやファイルを削除する際に使うコマンドは複数あります。代表的なものは以下のとおりです。
| コマンド | 主な用途 |
|---|---|
rm |
ファイルおよびディレクトリの削除 |
rmdir |
空のディレクトリのみを削除 |
この2つが基本です。用途と動作の違いを理解することが、安全なディレクトリ操作の第一歩です。
ディレクトリ削除でよく使うrmとrmdir
rmはファイル削除を基本としたコマンドですが、オプションを付けることでディレクトリも削除できます。一方、rmdirはディレクトリ専用の削除コマンドで、空のディレクトリにのみ使用できます。
どちらを使うかは、削除したいディレクトリの状態(中身があるかどうか)によって決まります。
ファイル削除とディレクトリ削除の違い
Linuxでは、ファイルとディレクトリは別のオブジェクトとして扱われます。rmコマンドは標準ではファイルを対象としており、ディレクトリをそのままの構文で指定するとエラーになります。ディレクトリを削除するには専用のオプションや専用コマンドが必要です。
ディレクトリ内にファイルがある場合の注意点
ディレクトリの中にファイルやサブディレクトリが存在する場合、rmdirでは削除できません。rmに再帰的削除オプションを付けることで中身ごと削除できますが、その分リスクも高まります。実行前に中身を確認する習慣が重要です。
削除後は基本的に元に戻せない
Linuxでは削除したファイルやディレクトリはゴミ箱に入らず、原則として復元できません。Windowsのような「削除の取り消し」機能はなく、誤って削除したデータを取り戻すことは非常に困難です。削除操作は常に慎重に行う必要があります。
rmコマンドでディレクトリを削除する方法
rmコマンドとは
rmは「remove」の略で、ファイルやディレクトリを削除するLinuxの基本コマンドです。オプションを組み合わせることで、ディレクトリの再帰的削除や強制削除が可能になります。
rmでディレクトリを削除する基本構文
基本的な構文は以下のとおりです。
rm [オプション] 対象のディレクトリ名
オプションなしでディレクトリを指定した場合、エラーが表示されます。ディレクトリを削除するには必ず適切なオプションを付ける必要があります。
rm -rでディレクトリを再帰的に削除する
-rオプション(または-R)は「recursive(再帰的)」の意味で、ディレクトリとその中身をすべて削除します。
rm -r ディレクトリ名
ディレクトリ内のファイルもまとめて削除できる
rm -rを使うと、指定したディレクトリの中にあるファイルをすべて削除してからディレクトリ自体を削除します。中身の有無にかかわらず削除できる点がrmdirとの大きな違いです。
サブディレクトリも含めて削除される
再帰的削除では、ネストされたサブディレクトリも含めてすべて削除されます。複数階層にわたる構造でも一度のコマンドで削除できますが、それだけ影響範囲も広くなります。
rm -rfで確認なしに削除する方法
-rオプションと-fオプションの意味
-fは「force(強制)」の意味で、確認プロンプトを表示せずに削除を実行します。-rと組み合わせたrm -rfは、中身のあるディレクトリを確認なしで強制削除します。
rm -rf ディレクトリ名
rm -rfを使うときの危険性
rm -rfは非常に強力なコマンドです。確認なしでディレクトリとその中身を完全に削除するため、パスの指定を間違えると取り返しのつかない事態になります。特にrm -rf /やrm -rf *のような指定は、システム全体やカレントディレクトリのすべてを削除する可能性があるため、絶対に慎重に扱う必要があります。
削除対象のパスを必ず確認する
rm -rfを実行する前に、対象のパスが正しいかを必ず確認してください。echoコマンドで対象を表示してから削除する方法や、lsで中身を確認してから実行する方法が有効です。
rmdirコマンドでディレクトリを削除する方法
rmdirコマンドとは
rmdirは「remove directory」の略で、ディレクトリを削除するための専用コマンドです。rmとは異なり、空のディレクトリにしか使えないという制約があります。この制約がかえって安全な削除を保証してくれます。
rmdirの基本構文
rmdir ディレクトリ名
複数のディレクトリを一度に指定することもできます。
rmdir ディレクトリA ディレクトリB
空のディレクトリだけを削除できる
rmdirは、中身が空のディレクトリのみを対象とします。ファイルやサブディレクトリが残っている場合は削除されず、エラーメッセージが表示されます。
ファイルが残っている場合はエラーになる
ディレクトリ内にファイルが1つでも存在すると、rmdirは「Directory not empty」というエラーを返して処理を中止します。これにより、誤って中身のあるディレクトリを削除してしまうリスクを防げます。
安全に空ディレクトリを削除したい場合に向いている
作業後に生成された空のディレクトリを整理したい場合や、削除対象を空のものだけに限定したい場合にrmdirは最適です。万が一ファイルが残っていてもエラーで止まるため、安全性が高いコマンドです。
rmとrmdirの違い
削除できる対象の違い
| 項目 | rm | rmdir |
|---|---|---|
| ファイルの削除 | ○ | × |
| 空のディレクトリの削除 | ○(-rオプション使用) | ○ |
| 中身のあるディレクトリの削除 | ○(-rオプション使用) | × |
| 強制削除(確認なし) | ○(-fオプション使用) | × |
空ではないディレクトリを削除できるか
rmdirは空のディレクトリのみを対象とするため、中身があるディレクトリには使えません。中身ごと削除したい場合はrm -rを使います。
実務でよく使われるコマンドの違い
日常的なLinux作業では、rm -rやrm -rfの方が使用頻度が高い傾向があります。一方、スクリプト内で「空であることを確認してから削除したい」場面ではrmdirが安全な選択肢になります。
中身ごと削除したい場合はrm -r
ディレクトリとその中のファイル・サブディレクトリをまとめて削除したい場合はrm -rを使います。実行前に必ずlsで中身を確認することを推奨します。
空ディレクトリだけ削除したい場合はrmdir
中身があるかどうか不確かな状況で誤削除を防ぎたい場合はrmdirを選ぶと安全です。エラーで止まる仕様が「安全装置」として機能します。
Linuxでディレクトリを削除する具体例
空のディレクトリを削除する例
testdirという空のディレクトリを削除する場合:
rmdir testdir
または:
rm -r testdir
どちらも機能しますが、空であることが確実ならrmdirの方が安全です。
中身があるディレクトリを削除する例
ファイルやサブディレクトリを含むprojectディレクトリを削除する場合:
rm -r project
実行前に以下で中身を確認します:
ls project
複数のディレクトリをまとめて削除する例
複数のディレクトリを一度に削除する場合はスペースで区切って指定します:
rm -r dir1 dir2 dir3
または空のディレクトリのみなら:
rmdir dir1 dir2 dir3
確認なしでディレクトリを削除する例
確認プロンプトを表示せずに削除する場合:
rm -rf ディレクトリ名
rm -rfを使う前に確認すべきこと
- 削除対象のパスが正しいか
- カレントディレクトリの位置は意図したとおりか
- 削除してはいけないファイルが含まれていないか
- ワイルドカードを使っている場合、対象範囲が想定内か
誤削除を防ぐための実行前チェック
実行前に以下のコマンドで状況を確認する習慣をつけましょう。
pwd
カレントディレクトリを確認してから:
ls -la 削除対象ディレクトリ
で中身を表示し、問題がなければ削除を実行します。
Linuxでディレクトリ削除時によくあるエラー
rmdirで「Directory not empty」が表示される
このエラーは、削除しようとしたディレクトリに中身が残っている場合に表示されます。
対処法:中身を先に削除するか、rm -rに切り替えます。
rm -r ディレクトリ名
権限不足で削除できない
「Permission denied」と表示される場合、現在のユーザーに削除権限がありません。
対処法:ファイルの所有者や権限を確認します。
ls -la
注意:安易にsudoを付けて解決しようとするのは危険です。権限が制限されている理由を理解してから対応してください。
指定したディレクトリが存在しない
「No such file or directory」というエラーは、パスの指定が誤っているか、すでに削除済みのディレクトリを対象にしている場合に表示されます。
対処法:lsでディレクトリの存在を確認してから実行します。
パスの指定ミスで削除できない
スペルミスや大文字・小文字の違いでパスが一致しない場合も同様のエラーが出ます。Linuxのファイルシステムは大文字・小文字を区別するため、TestDirとtestdirは別のディレクトリとして扱われます。
カレントディレクトリを確認する
自分が今どのディレクトリにいるかを確認するには:
pwd
このコマンドで現在位置を把握してから、相対パスまたは絶対パスを正しく指定します。
絶対パスと相対パスを使い分ける
相対パスは現在位置からの経路、絶対パスは/から始まる完全な経路です。迷ったときは絶対パスを使う方がミスを防ぎやすくなります。
Linuxコマンドの使い方についてさらに詳しく知りたい方は、侍エンジニア「Linuxのrmコマンド使い方まとめ」も参考になります。
Linuxでディレクトリを削除するときの注意点
削除したデータはゴミ箱に入らない
Linuxのコマンドラインで削除したファイルやディレクトリは、Windowsのようにゴミ箱へ移動しません。rmコマンドを実行した瞬間、データは即座に削除されます。GUIのファイルマネージャーを使った削除とは根本的に異なる動作です。
重要なファイルが含まれていないか確認する
削除前に必ずls -laでディレクトリの中身を確認し、削除しても問題ないファイルのみが含まれているかをチェックします。特に隠しファイル(.で始まるファイル)の存在に注意が必要です。
rm -rfは慎重に使う
rm -rfは強力な削除コマンドです。一度実行すると復元が非常に困難なため、実行する前にパスと対象を二重確認することを習慣にしてください。
管理者権限での削除は特に注意する
sudo rm -rfを安易に実行しない
sudo rm -rfはシステムファイルも含めて削除できる最も危険な組み合わせのひとつです。特にsudo rm -rf /はシステム全体を破壊する可能性があります。管理者権限での削除は、本当に必要な場合のみ、対象を慎重に確認したうえで実行してください。
ワイルドカード指定による誤削除に注意する
*(ワイルドカード)を使った削除は影響範囲が広くなります。たとえばrm -rf /tmp/*は/tmp内のすべてを削除します。ワイルドカードを含むコマンドは、lsで対象を確認してから実行する習慣をつけましょう。
安全にディレクトリを削除するためのコツ
削除前にlsコマンドで中身を確認する
削除を実行する前に、対象ディレクトリの中身を必ず確認します。
ls -la 削除対象ディレクトリ
-aオプションで隠しファイルも含めて表示されるため、見落としを防げます。
pwdコマンドで現在位置を確認する
相対パスで削除コマンドを実行する場合、カレントディレクトリの位置が想定と異なっていると誤削除につながります。
pwd
このコマンドで現在位置を確認してから削除コマンドを実行します。
必要に応じてバックアップを取る
削除対象に少しでも重要なデータが含まれている可能性がある場合は、事前にバックアップを取りましょう。cp -rコマンドで別の場所にコピーしてから削除するのが安全です。
cp -r 削除対象ディレクトリ バックアップ先パス
最初はrmdirやrm -iで慎重に削除する
Linuxに不慣れな段階では、rmdirまたはrm -iを使うことで誤削除のリスクを大幅に下げられます。
確認メッセージ付きで削除する方法
-iオプションを付けると、ファイルごとに削除確認を求めるプロンプトが表示されます。
rm -ri ディレクトリ名
各ファイルに対してyまたはnで応答できるため、誤削除を防ぐ安全な方法です。
作業ディレクトリを明確にしてから実行する
削除コマンドを実行する前に、pwdで現在位置を、lsで対象を確認し、削除する意図と一致していることを確かめてから実行する——この3ステップを習慣化するだけで、深刻な誤削除はほぼ防げます。
rmdirコマンドの詳しい動作と使用例については、エンジニア入門「Linuxのrmdirコマンド完全ガイド」も参考にしてください。
Linuxディレクトリ削除の使い分けまとめ
中身ごと削除するならrm -r
ファイルやサブディレクトリを含むディレクトリをまとめて削除したい場合はrm -rを使います。実行前にlsで中身を確認することが前提です。
強制削除するならrm -rf
確認プロンプトなしで素早く削除したい場合はrm -rfを使いますが、使用は慣れた作業者が対象を明確に把握している状況に限るべきです。
空ディレクトリだけならrmdir
中身が空であることが確実なディレクトリを削除する場合はrmdirが最も安全です。万が一中身があればエラーで止まるため、誤削除のリスクがありません。
削除前の確認を習慣化する
どのコマンドを使う場合でも、pwd→ls→削除実行の順で確認する習慣を身につけることが、Linuxを安全に扱う基本です。
| 状況 | 推奨コマンド |
|---|---|
| 空のディレクトリを削除したい | rmdir |
| 中身ごとディレクトリを削除したい | rm -r |
| 確認なしで強制削除したい | rm -rf(慎重に) |
| 1ファイルずつ確認しながら削除したい | rm -ri |
| 複数の空ディレクトリをまとめて削除したい | rmdir dir1 dir2 |
rmとrmdirの違いと実務での使い分けについては、PJINテックブログ「rmとrmdirの違いを徹底解説」とQiita「Linuxのrm・rmdirコマンド使い分けガイド」も実務参考として活用できます。
Linuxコマンドをはじめとするデジタルスキルの解説は、kakiro-web.comでも幅広く公開しています。
まとめ
Linuxでディレクトリを削除する基本はrmとrmdir
Linuxでディレクトリを削除するには、rmとrmdirの2つが基本コマンドです。それぞれ動作と対象が異なるため、状況に応じた使い分けが重要です。
rm -rは中身ごと削除できる
rm -rは再帰的削除オプションにより、ディレクトリ内のファイルやサブディレクトリをすべて含めて削除できます。-fオプションを加えたrm -rfはさらに強力で、確認なしの強制削除が可能です。
rmdirは空のディレクトリ削除に使う
rmdirは中身が空のディレクトリのみを削除します。ファイルが残っている場合はエラーで止まるため、誤削除を防ぐ安全なコマンドとして活用できます。
削除操作は復元が難しいため慎重に行う
Linuxのコマンドラインによる削除はゴミ箱を経由しません。一度削除したデータの復元は非常に困難です。削除前の確認、バックアップ、権限の把握を徹底し、特にrm -rfとsudoの組み合わせには最大限の注意を払ってください。
- 空のディレクトリ削除には
rmdirが安全 - 中身ごと削除するには
rm -rを使う - 強制削除の
rm -rfはパスを必ず確認してから実行する sudo rm -rfは最も慎重に扱うべきコマンドのひとつ- 削除前に
pwdとlsで状況を確認する習慣をつける

