cp 是 Linux 系統中最常用的複製指令,功能相當於 DOS 的 COPY 與 XCOPY。本文詳細說明語法、常用選項、實戰範例與常見錯誤排除。
cp [options] # 單一檔案/目錄
cp [options] source1 source2 ... directory # 多檔案複製至目錄
| 選項 | 說明 |
|---|---|
-a | 保留連結、檔案屬性,遞迴複製目錄,等同 -dpr |
-d | 複製時保留符號連結 |
-f | 強制覆蓋既有目標檔案,不提示 |
-i | 互動模式,覆蓋前詢問確認 |
-p | 保留來源檔案的修改時間、存取權限、擁有者 |
-r / -R | 遞迴複製目錄及其所有子目錄、檔案 |
-l | 建立硬連結而非複製檔案 |
-s | 建立符號連結(快捷方式) |
-u | 僅在來源檔案較新或目標不存在時才複製 |
cp -i file1 file2 # 互動模式
cp file1 file2 # 直接覆蓋
cp -i file1 dir1/
cp file1 dir1/
cp -r dir1 dir2 # dir2 不存在時,建立 dir2 並複製 dir1 內容;若 dir2 存在,則在 dir2 下建立 dir1 副本
cp -r dir1/* dir2/ # 萬用字元 * 需搭配 -r
# 或更完整保留隱藏檔
cp -r dir1/. dir2/
cp: omitting directory複製目錄時未加 -r 選項。
解決:cp -r dir1 dir2
cp -a /source /backupcp -u /src/* /dst/ 適合同步備份cp -s /path/to/file /link/path