概要
ファイルやディレクトリを削除します。取り消し前提の道具ではないため、対象確認、ワイルドカード、再帰削除の扱いを正確に理解して使う必要があります。
基本構文
rm [オプション]... ファイル...
rm -r [オプション]... ディレクトリ...詳細解説
rmは、不要になったファイルやディレクトリを削除するコマンドです。見た目上は「消す」操作ですが、実際にはディレクトリエントリから名前参照を外す動作であり、通常のデスクトップ環境のようなごみ箱を挟みません。そのため、誤操作時の影響が大きい代表的なコマンドの一つです。
特に重要なのは、ワイルドカード、再帰削除、権限、現在位置の四つです。rmそのものよりも、シェルが展開した引数が何になるかで結果が大きく変わります。たとえばrm -r *は、現在の場所で展開された全項目に対して再帰削除を行います。現在位置を誤解していると被害が広がります。
実務では、一時ファイルの掃除、古い生成物の削除、ローテーション済み成果物の整理などに使います。ただし、本番設定、ログ、マウント先、共有領域に対しては、対象確認とバックアップ方針を明確にしてから実行するべきです。安全性が最優先なら、まずlsやfindで対象を表示してから削除へ進みます。
このコマンドを使う場面
不要ファイルの削除、一時ディレクトリの掃除、再生成前の成果物削除、古いバックアップの整理などで使います。人が目で確認できる範囲から順に実行し、広範囲削除は段階的に行うのが安全です。
まず安全に試す方法
必ず作業用ディレクトリで試してください。
1. mkdir -p /tmp/rm-demo && cd /tmp/rm-demo
2. touch a b c
3. ls
4. rm -i a
5. ls
6. mkdir tmpdir && touch tmpdir/x
7. rm -r tmpdir
まずは通常削除と再帰削除の違いを小さな対象で確認します。
3分ミッション
少しでも手を動かすと定着しやすくなります。終わった項目にチェックを入れてください。
-
rm -iで単一ファイルを削除し、確認ありの動作を把握します。
-
作業用ディレクトリを作ってrm -rで削除し、通常削除との違いを理解します。
資格試験との関連
-
LinuC レベル1
範囲: 1.02.2 基本的なファイル管理の実行根拠: officialrmは、LinuCレベル1の基本的なファイル管理を理解するうえで重要なコマンドです。
-
LPIC-1
範囲: 103.3 基本的なファイル管理の実行根拠: officialrmは、LPIC-1のファイルとディレクトリの基本操作に関わる代表的なコマンドです。
-
共通基礎
範囲: Linuxコマンド基礎根拠: editorialrmは、ファイル操作またはテキスト処理の基本を支えるため、試験横断の共通知識として価値があります。
実行結果サンプル
-
touch a b c rm a lsb c -
mkdir tmpdir && touch tmpdir/x rm -r tmpdir ls
戻り値コード
- 0 正常終了。指定した削除処理が完了しました。
- >0 権限不足、対象不存在、ディレクトリ削除条件不一致などで失敗しました。
使用例
rm old.txtrm -i important.confrm -r buildrm -f *.tmp
よくあるエラー
-
rm -r *を想定外の場所で実行してしまった 原因: 現在位置やワイルドカード展開結果を確認せずに実行しました。対処: 実行前にpwdとecho *またはlsで対象を確認し、必要なら絶対パスを使います。
-
削除できると思ったが権限エラーになった 原因: 対象ディレクトリや親ディレクトリの権限が不足しています。対処: ls -ldで権限と所有者を確認し、必要に応じて権限昇格や所有権調整を検討します。
導入・互換性情報
POSIXでrmは標準化されています。GNU実装では-Iや--one-file-systemなど、安全性や大規模削除向けの拡張があります。最小構成環境ではこれらの拡張が使えないことがあります。
エイリアスでrm -iを設定する運用もありますが、記事や手順書では元のrmの挙動を前提に説明するほうが安全です。環境依存の別名に頼らない運用が望まれます。
注意点 / セキュリティリスク
危険度は非常に高く、破壊的です。特にrm -rfは入力補完や現在位置確認を怠ると重大事故につながります。パスの最後に不要な空白やワイルドカードが混ざっていないか、マウント先を誤っていないか、必ず実行前に確認してください。
また、権限がある範囲では大量の削除を一瞬で進められるため、共有ディレクトリや自動化スクリプト内で使う時は冪等性と対象絞り込みが必須です。findと組み合わせる場合も、-printで先に確認する癖が重要です。
FAQ
-
Q. rmで消したファイルは簡単に戻せますか。 A. 通常は戻せない前提で扱うべきです。復旧可能性は環境と上書き状況に大きく依存します。
-
Q. rm -rとrm -rfの違いは何ですか。 A. -fを付けると確認や一部警告を抑えます。事故リスクが高くなるため、必要性を明確にしたうえで使います。
参照リンク
- カテゴリー: File And Directory
- レベル: Basic
- 対応試験: LinuC, LinuC レベル1, LPIC, LPIC-1, 共通基礎