Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux rm 指令完整用法詳解與實戰技巧

編輯:Linux 教學

基本語法

rm [選項] 檔案或目錄...

常用選項速查表

選項長選項說明
-f--force忽略不存在的檔案、不提示確認、直接刪除(含唯讀檔案)。
-i--interactive逐一確認刪除,輸入 y 或 Y 才執行。
-r / -R--recursive遞迴刪除目錄及其所有內容(子目錄、檔案)。
-d--dir刪除空目錄(不加 -r 時)。
-v--verbose顯示刪除操作的詳細資訊。
--no-preserve-root允許刪除根目錄 /(極度危險,預設禁止)。
--preserve-root預設行為,拒絕刪除根目錄。
-I刪除超過 3 個檔案或遞迴刪除時,只提示一次確認(折衷 -i 與 -f)。

實戰範例

1. 刪除單一檔案(不提示)

rm -f test.txt

2. 互動式刪除多個檔案

rm -i *.log

3. 遞迴刪除整個目錄樹

rm -rf /tmp/old_project

警告: rm -rf 是毀滅性操作,執行前請三次確認路徑,建議先用 ls 預覽。

4. 刪除檔名包含特殊字元的檔案

rm -f -- '-filename'   # 以 -- 結束選項解析
rm -f ./-filename      # 或用相對路徑開頭

5. 僅刪除空目錄

rm -d empty_dir

進階技巧與安全建議

  • 別名保護: 在 ~/.bashrc 加入 alias rm='rm -I',避免誤刪大量檔案時無提示。
  • 垃圾桶機制: 安裝 trash-cli,用 trash-put 替代 rm,支援還原。
  • 配合 find 批量清理:
    find /var/log -name '*.log' -mtime +30 -exec rm -f {} +
    
  • 刪除大量檔案效能優化: 使用 rsync -a --delete empty_dir/ target_dir/ 比 rm -rf 更快(利用目錄重命名)。
  • 防止誤刪根目錄: 系統預設啟用 --preserve-root,切勿加入 --no-preserve-root。

常見錯誤與對策

錯誤訊息原因解決
rm: cannot remove 'file': Permission denied無寫入權限確認目錄權限或用 sudo
rm: cannot remove 'dir': Is a directory目標是目錄未加 -r加上 -r 或 -d(空目錄)
Argument list too long檔案數過多超過命令列限制改用 find ... -exec rm {} + 或 xargs

總結

rm 是 Linux 最基礎也最危險的指令之一。熟練掌握 -i/-f/-r 組合、善用 find 配合、建立別名保護與垃圾桶習慣,能讓日常操作既高效又安全。操作無價,備份優先。

Copyright © Windows教程網 All Rights Reserved