rm コマンド情報まとめ
ターミナルの rm コマンドについて、オプション情報、ディレクトリ削除手順、AI エージェントが実行した場合の重大な危険性などを紹介しています。
rmとは
rm(remove)は、LinuxやmacOSなどのUnix系システムにおいて、ファイルやディレクトリを削除するためのコマンドです。不要なデータを整理するために日常的に使われる一方、誤って使用するとシステムや重要なデータを一瞬で破壊しかねない最も注意を要する基本コマンドの一つです。
オプション「-r」「-f」「-i」の意味
| オプション | 意味 |
|---|---|
-r, -R, --recursive | ディレクトリを中身(サブディレクトリやファイル)ごと再帰的に削除します。 |
-f, --force | 存在しないファイルに対してエラーを表示せず、確認プロンプトもスキップして強制的に削除します。 |
-i, --interactive | 削除を実行する前に、本当に削除するかどうかを1ファイルずつ確認するプロンプトを表示します。 |
極めて重要な注意事項(破壊的コマンド)
rm コマンドによる削除は、一般的なGUIのデスクトップOSにある「ゴミ箱」への移動とは異なり、ディスク上から直接データが削除されるため原則として復旧不可能です。特に rm -rf を誤ったパスやワイルドカードに対して実行すると、システム全体の起動に必要なファイルやデータベースを一瞬ですべて消し去る破滅的な被害(誤爆)をもたらします。コマンドを実行する前に、指定したパスに間違いがないか、不要なスペースが入っていないかを必ず確認してください。
よく使う組み合わせ
ファイルを削除する(基本)
rm document.txt
指定したファイルを削除します。ディレクトリ(フォルダ)は削除できません。
ディレクトリを中身ごと強制削除する
rm -rf temp_folder/
ディレクトリと、その中に含まれるすべてのサブフォルダ・ファイルを、確認プロンプトを出さずに一括で強制削除します。非常に強力であるため、使用時はパス指定に細心の注意を払う必要があります。
ユースケース
ビルドキャッシュや一時ファイルのクリア
ソフトウェア開発などで生成された一時的なビルド成果物や不要になったキャッシュディレクトリを完全に削除し、ディスク容量を解放します。
不要な古いバックアップの整理
保存期間を過ぎた過去のアーカイブファイルを手動または自動スクリプトで削除してストレージを整理します。
AIエージェントが実行しようとした場合
AIエージェントの目的
AIエージェントは主に次のような目的で rm を実行しようとすることがあります。
- 作業中に作成した一時スクリプトや不要になった中間データをクリーンアップするため
- ビルド失敗時に、キャッシュを一旦削除して再構築を試みるため
危険性
rm (特に rm -rf)コマンドは不可逆的な操作を伴う極めて危険なコマンドであるため、AIエージェントが自動実行することは推奨されません。人間による確認を必須とすべきです。