rm (remove) 是 Linux 中刪除檔案與目錄的核心指令,功能強大但也極具破壞力。本文詳細解析 rm 的所有參數、常見用法、刪除目錄的正確姿勢,以及避免誤刪的安全建議。

rm [options] name...
| 短參數 | 長參數 | 說明 |
|---|---|---|
-i | --interactive | 刪除前逐一詢問確認 (強烈建議加入 alias) |
-f | --force | 強制刪除,忽略不存在的檔案、不提示確認、覆蓋唯讀屬性 |
-r / -R | --recursive | 遞歸刪除目錄及其所有內容 (刪除目錄必加) |
-d | --directory | 直接刪除目錄項 (僅限空目錄,較少用) |
-v | --verbose | 顯示執行過程 (刪除哪些檔案) |
--help | 顯示線上說明 | |
--version | 顯示版本資訊 |
rm -i *.c
逐個詢問,防止手滑誤刪重要程式碼。
rm -r Finished
若目錄下有大量檔案,建議加 -v 觀察進度:rm -rv Finished。
rm -rf /path/to/dir
⚠️ 警告:rm -rf / 或 rm -rf * 在根目錄或關鍵路徑執行會導致系統毀滅,請三思而後行。
~/.bashrc 加入 alias rm='rm -i',讓預設帶入互動確認。trash-cli,改用 trash-put 移至資源回收筒,支援還原。ls -l 路徑 或 find 路徑 -type f 確認目標再下 rm。cp -a 備份關鍵目錄。rm -- -filename 或 rm ./-filename 處理以 - 開頭的檔案。rmdir 目錄名:只能刪除空目錄,保留資料安全。rm -rf 目錄名:刪除目錄及所有內容,威力極大。記住:Linux 沒有回收桶,rm 即永久刪除。養成「先確認、再執行、備份重要資料」的習慣,才能安心駕馭這把雙面刃。