rm 是 Linux 系統中刪除檔案與目錄的核心指令。功能強大但風險極高——刪除即永久,無回收桶機制。本文詳細說明 rm 的參數用法、遞迴刪除非空目錄的正確姿勢、互動模式防誤刪,以及實務上必須養成的安全習慣。
rm [選項] 檔案...
| 參數 | 完整名稱 | 說明 |
|---|---|---|
-f | --force | 忽略不存在的檔案,不提示確認,直接強制刪除 |
-r / -R | --recursive | 遞迴刪除目錄及其所有子目錄、檔案(刪除非空目錄必加) |
-i | --interactive | 互動模式,逐一確認每個檔案是否刪除(輸入 y 確認) |
-v | --verbose | 顯示詳細刪除過程 |
-d | --dir | 刪除空目錄(等同 rmdir) |
rm -r 目錄名稱 # 遞迴刪除,會提示確認每個檔案(若加 -i)
rm -rf 目錄名稱 # 強制遞迴刪除,不提示確認,極度危險
rm -rfv 目錄名稱 # 加上詳細輸出
⚠️ 血淚教訓:
rm -rf /或rm -rf *在錯誤路徑執行,可在秒毀系統。務必先用ls確認路徑與內容,再執行刪除。
$ rm -ri test example
rm: remove regular file 'test'? y
rm: remove regular file 'example'? n
上例中使用者選擇刪除 example,保留 test。建議平時操作養成加 -i 習慣,關鍵資料目錄更不可省略。
rm 刪除符號連結時,僅移除連結檔案本身,原始目標檔案完全不受影響。
~/.bashrc 加入 alias rm='rm -i',預設啟用互動模式。rm -rf /full/path/to/dir。ls -la 目標目錄 確認內容無誤。cp -r 或打包備份。trash-cli,改用 trash-put 替代 rm,支援還原。rm -rf /home/user 少打一個空格變 rm -rf / home/user → 刪除根目錄rm -rf $VAR/* 若 $VAR 為空 → 刪除根目錄所有內容掌握 rm 的威力與風險,養成謹慎操作習慣,才能在 Linux 系統管理道路上走得更遠、更穩。