5.

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)

関連

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. ls ファイル/ディレクトリ一覧表示
  2. sudo ユーザー指定
  3. cron/crontab ジョブの自動実行と登録方法
  4. wget http通信によるファイルダウンロード
  5. rm ファイル/ディレクトリ削除
  6. pwd カレントディレクトリの表示
  7. cd ディレクトリの移動
  8. ./configure
  9. make
  10. make install
  11. unzip ファイルの解凍
  12. mv ファイル/ディレクトリの移動および名称変更
  13. mkdir ディレクトリの作成
  14. touch 空ファイルの新規作成
  15. vi テキストディタの使用
  16. find ファイル/ディレクトリ検索
  17. grep 文字列の検索
  18. tail ファイルの末尾表示
  19. curl HTTP通信によるリクエスト
  20. nslookup ドメインのIP解決
  21. apt update パッケージリストの情報を更新
  22. apt upgrade パッケージの更新
  23. ln リンク/ショートカットの作成と削除
  24. rsync ファイル/ディレクトリの同期
  25. ssh リモートとの暗号化通信
  26. scp sshを利用したファイルのコピー
  27. unzip zip ファイルを解凍する
  28. cp ファイル/ディレクトリのコピー
  29. diffファイルの差分抽出
  30. fdisk ハードディスクに対する操作
  31. lsblk デバイスをツリー状で表示する
  32. kill プロセスを終了させる
  33. zip ファイルやディレクトリをzip形式に圧縮する
  34. host ドメインからIPアドレスを確認
  35. chmod 権限の変更
  36. ip IPアドレスの確認
  37. chown ファイル/ディレクトリ所有者の変更
  38. chgrp ファイル/ディレクトリのグループ情報の変更
  39. nohupと'&' プログラムのバックグラウンド実行(ssh接続時)
  40. lsof 開いているポート番号の確認
  41. tar ファイルの圧縮と解凍
  42. file ファイルの種類を表示
  43. cat ファイルの中身を表示
  44. head ファイルの先頭部分を表示
  45. wc 行数/単語数/文字数を確認
  46. shutdown システムのシャットダウンと再起動
  47. ps プロセスの確認
  48. which コマンドの絶対パスを調べる
  49. yum RedHat系ディストリビューションの管理
  50. mount ファイルシステムのマウント
  51. 特定フォルダ以下の特定拡張子のファイルを再帰的に削除する方法
  52. 特定のフォルダとそのサブフォルダ内にある特定のファイル名のファイルを再帰的に削除