現象:`cp -ri dir1 dir2` 目標已存在同名目錄,卻不提示「是否覆蓋」。
來源:dir1/
├─ a.txt
└─ b.txt
目標:dir2/
└─ dir1/
└─ a.txt (已存在)
執行 cp -ri dir1 dir2
→ 進入 dir2/dir1/
a.txt 存在 → 提示覆蓋
b.txt 不存在 → 直接複製
結果:dir2/dir1/ 同時擁有 a.txt(新) 與 b.txt
# 1. 先刪除目標目錄再複製
rm -rf dir2/dir1
cp -r dir1 dir2
# 2. 或用 rsync 同步刪除多餘檔案
rsync -av --delete dir1/ dir2/dir1/
「`cp -r` 複製目錄是**合併內容**,`-i` 只針對**檔案級衝突**提示;要整目錄覆蓋,請先刪後複製或用 `rsync --delete`。」
理解這語意差異,備份腳本就不會漏檔或誤覆蓋。