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 cp 指令完整教學:檔案/目錄複製、屬性保留、備份控制、稀疏檔處理、跨檔案系統複製實戰

編輯:關於 Linux

cp 是 Linux 最基礎的複製工具,但其參數極豐富,能精準控制屬性保留、備份行為、符號連結處理、稀疏檔優化。本文系統化說明所有核心參數、實戰範例與進階技巧。

cp 指令參數表

核心參數完整對照表

短參數長參數功能典型場景
-a --archive 等同 -dR --preserve=all (遞迴、保留連結、保留所有屬性) **完整目錄樹備份/遷移**
-r, -R --recursive 遞迴複製目錄及內容 複製資料夾
-p --preserve=mode,ownership,timestamps 保留權限、擁有者、時間戳 保留原檔屬性
-u --update 來源較新才複製 增量同步、備份
-i --interactive 覆蓋前詢問 防誤刪重要檔
-n --no-clobber 不覆蓋既有檔 保護目的端
-f --force 無法開啟目的檔則移除重試 強制覆蓋
-b --backup 覆蓋前建立備份檔 保留舊版本
--backup=numbered 備份檔命名 file.~1~, file.~2~ 版本化備份
-S --suffix=SUFFIX 自訂備份尾碼 (預設 ~) cp -b -S _bak file dir/
-l --link 建立硬連結而非複製 節省空間、瞬間完成
-s --symbolic-link 建立符號連結 快捷方式
-L --dereference 複製符號連結**指向的目標檔** 實體化連結
-P --no-dereference 複製符號連結**本身** (預設) 保留連結結構
-H 僅複製命令列參數中的符號連結目標 混合模式
-d 等同 --no-dereference --preserve=links 保留連結屬性
-x --one-file-system 不跨越檔案系統邊界 避免掛載點誤複製
--sparse=auto 偵測稀疏檔並保留稀疏性 (預設) 虛擬機映像、大型資料庫檔
--sparse=always 強制建立稀疏檔 複製非稀疏來源為稀疏
--sparse=never 不建立稀疏檔 相容性需求

實戰範例集

# 1. 完整保留屬性複製目錄 (最常用)
cp -a /src/project /dst/backup/

# 2. 僅更新較新檔案 (增量備份)
cp -au /src/data /dst/backup/

# 3. 互動式覆蓋確認
cp -i file.txt /dst/

# 4. 不覆蓋既有檔
cp -n *.conf /etc/

# 5. 強制覆蓋 (目的檔被鎖定/權限不足)
cp -f new_binary /usr/local/bin/

# 6. 建立編號備份
cp -b --backup=numbered config.yaml /etc/
# 產生 config.yaml.~1~, config.yaml.~2~

# 7. 自訂備份尾碼
cp -b -S _$(date +%Y%m%d) config.yaml /etc/
# 產生 config.yaml_20240115

# 8. 硬連結代替複製 (同檔案系統、節省空間)
cp -l large_file.img /backup/

# 9. 實體化符號連結 (複製目標而非連結)
cp -L /usr/bin/python3 /container/usr/bin/

# 10. 保留目錄結構複製單一檔案
cp -P /var/log/nginx/access.log /backup/var/log/nginx/

# 11. 跨檔案系統複製 (預設支援)
cp /mnt/disk1/data.bin /mnt/disk2/

# 12. 稀疏檔優化 (虛擬機映像備份)
cp --sparse=always dense_disk.img sparse_disk.img
# 將連續零區塊轉為稀疏,大幅縮小實際佔用空間

cp vs rsync vs install 選擇指南

工具優勢適用場景
cp 系統內建、無相依、參數精細控制單次操作 互動式、腳本單步、需特定屬性控制
rsync 差量、斷點續傳、過濾、統計、遠端 **同步、備份、鏡像、大量資料**
install 複製+設定權限+擁有者+備份單一指令 安裝腳本、套件建置 install -m 755 -o root -g root src dst

常見陷阱

  • cp -r dir/ /dst vs cp -r dir /dst:尾碼斜線影響是複製**目錄內容**還是**目錄本身** (同 rsync)
  • cp -a **不保留 ACL/xattr** (需 --preserve=xattr,acl 或用 rsync -aAX)
  • 複製掛載點內容:加 -x 避免遞入其他檔案系統
  • 目的目錄不存在:cp file dir/ 會報錯,需先 mkdir -p dir

精通 cp 參數組合,能在無網路、無額外工具的最小環境中完成精準、安全、高效的檔案複製任務。

Copyright © Windows教程網 All Rights Reserved