この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:5
ページ更新者:atom
更新日時:2026-06-10 14:59:27

タイトル: rm ファイル/ディレクトリ削除

ファイル/ディレクトリの削除コマンド。Linux/Mac/Unixで広く使われる基本コマンドのひとつです。

ディレクトリを削除する場合は「-r」オプションを指定して再帰的に削除する。

-f」を指定することで削除の確認がなされなくなる。

rm -rf ディレクトリ名

基本

# ファイル削除
$ rm file.txt

# 複数ファイルを一度に
$ rm a.txt b.txt c.txt

# ワイルドカード
$ rm *.tmp

# ディレクトリを中身ごと削除
$ rm -r mydir/

# 確認なしで強制削除(最も注意が必要)
$ rm -rf mydir/

主要オプション

オプション意味
-r / -R再帰的に削除(ディレクトリ用)
-f強制削除(確認なし、エラー無視)
-i削除前に1ファイルずつ確認
-I大量削除時のみまとめて確認
-v削除内容を表示(verbose)
-d空ディレクトリを削除(rmdirと同等)
--no-preserve-root「/」の削除を許可(事故防止のため通常はprotected)

安全に使うコツ

  • 削除前に ls で対象を確認
  • 本番環境では -i でインタラクティブに
  • パスをタブ補完で確実に入力する(typoでルートを消すのを防ぐ)
  • シェル alias で rmrm -i にしておく方法もあるが、過信は禁物
  • 本当に消すか不安なら mv で一旦別の場所に退避

# 安全に使う例
$ ls -la mydir/    # 何が消えるか先に確認
$ rm -ri mydir/   # 1つずつ確認しながら削除

# 一時退避(消すか迷うとき)
$ mv mydir/ /tmp/mydir-bak/

絶対にやってはいけない例

# 絶対に実行しない
$ rm -rf /            # ルート以下を全削除(システム破壊)
$ rm -rf $UNDEFINED/  # 変数が空だと「rm -rf /」になる
$ rm -rf .*          # 隠しファイル + 親ディレクトリも対象

削除しても復元したい場合

  • 通常のLinuxファイルシステムでは rm 後の復元は基本不可能
  • 定期バックアップ(rsynctarborg等)が頼り
  • 復元優先なら trash-cli(ゴミ箱機能)を導入
  • extundelete等のツールはあるが成功率は低い

関連コマンド

コマンド用途
rmdir ディレクトリ空ディレクトリの削除
mv src dst移動(削除前の退避にも)
find . -name "*.tmp" -delete条件で見つけた物を一括削除
shred -u file復元困難に削除(複数回上書き)
trash-put fileゴミ箱に入れる(要trash-cli)

関連