Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Linux 核心檔案操作命令大全:ls、cp、mv、rm 參數詳解與實戰技巧

編輯:Linux 系統常見問題解答

ls - 列出目錄內容

常用參數組合

參數功能推薦組合
-a顯示所有檔案(含隱藏檔 . 開頭)ls -la 完整長列表
-A顯示所有檔案(不含 . 和 ..)ls -lA 日常最常用
-l長格式:權限、連結數、擁有者、大小、時間、名稱
-h人類可讀大小(K、M、G)
-d僅列出目錄本身,不遞迴進入ls -ld /etc
-t按修改時間排序(新→舊)ls -lt
-r反向排序ls -ltr 由舊到新
-S按檔案大小排序ls -lSh
-i顯示 inode 號ls -li 硬連結分析

實戰範例

ls -lA /tmp           # 列出 /tmp 所有檔案(含隱藏),長格式
ls -ld /home/*        # 僅列出 /home 下一級目錄
ls -ltr /var/log      # 按時間舊→新,方便看最新日誌
ls -i config.php      # 獲取 inode,配合 find -inum 尋找硬連結

cp - 複製檔案與目錄

核心參數

參數功能典型場景
-r/-R遞迴複製目錄複製整個目錄樹
-a歸檔模式 = -dR --preserve=all(保留權限、時間、擁有者、連結)備份、遷移、保留屬性
-p保留模式、擁有者、時間戳(等同 --preserve=mode,ownership,timestamps)
-f強制覆蓋,不提示腳本自動化
-i互動模式,覆蓋前確認手動操作防誤刪
-u僅複製較新檔案(update)增量備份、同步
-l建立硬連結而非複製節省空間、同步修改
-s建立符號連結快捷方式

權限陷阱

預設 cp 目標檔擁有者為執行用戶,權限受 umask 影響。需完整保留屬性請用 cp -a 或 cp -p。

mv - 移動與重命名

參數

參數功能
-f強制覆蓋,不提示
-i互動確認
-u僅當來源較新或目標不存在時移動
-n不覆蓋現有檔案(GNU 核心工具 8.24+)
-b覆蓋前備份(加 ~ 後綴)

跨檔案系統行為

  • 同檔案系統:僅修改目錄項,極快(原子操作)
  • 跨檔案系統:複製後刪除來源,等同 cp -a && rm -rf

rm - 刪除檔案與目錄

參數

參數功能風險等級
-f強制刪除,忽略不存在、不提示高
-i逐一確認低
-I僅刪除超過 3 檔案或遞迴時確認一次(折中)中
-r/-R遞迴刪除目錄極高
-d刪除空目錄(等同 rmdir)低
--preserve-root拒絕刪除 /(預設開啟)安全
--no-preserve-root允許刪除 /(慎用!)核彈級

安全習慣

  1. 刪除前先 ls 確認範圍
  2. 目錄刪除用 rm -ri 或 rm -rI
  3. 重要資料先備份或用 trash-cli 移至垃圾桶
  4. 生產環境禁用 rm -rf / 類指令,配置 alias rm='rm -I'

進階技巧:配合 find/xargs 批次處理

# 複製所有 .log 到 /backup/logs,保留目錄結構
find /var/log -name "*.log" -exec cp -a --parents {} /backup/logs \;

# 刪除 30 天前的 .tmp 檔案
find /tmp -name "*.tmp" -mtime +30 -delete

# 重命名:將 .jpeg 改為 .jpg
find . -name "*.jpeg" -exec sh -c 'mv "$1" "${1%.jpeg}.jpg"' _ {} \;
Copyright © Windows教程網 All Rights Reserved