Linux 之間傳輸檔案,scp(SSH Copy)最簡單通用,rsync 則支援斷點續傳、增量同步、壓縮,適合大量資料同步。本文詳細說明兩者用法與進階參數。

scp [選項] 來源 目標
scp /home/a.txt user@192.168.0.8:/home/user/scp user@192.168.0.8:/home/b.txt /home/scp -r user@192.168.0.8:/home/ /root/home2scp -P 2222 file user@host:/pathscp -C file user@host:/pathscp -v file user@host:/path| 參數 | 說明 |
|---|---|
-r | 遞迴複製目錄 |
-P | 指定 SSH 埠(小寫 -p 為保留時間戳) |
-C | 啟用壓縮 |
-v | 詳細輸出(除錯) |
-4/-6 | 強制 IPv4/IPv6 |
-l limit | 限制頻寬 (Kbit/s) |
rsync -avzP /src/ user@host:/dest/
-a:封存模式(保留權限、時間、符號連結等)。-v:詳細輸出。-z:傳輸壓縮。-P:顯示進度 + 斷點續傳(--partial --progress)。--delete:刪除目標端多出的檔案(鏡像同步)。-e "ssh -p 2222":指定 SSH 埠。rsync -avzP /data/ user@backup:/data/rsync -avzP user@backup:/data/ /data/rsync -avzuP ... (-u update)。rsync -avzP --exclude='*.log' --exclude='tmp/' ...設定 SSH 金鑰認證(參考文章 45771),即可在腳本、cron、CI/CD 中無人值守執行 scp/rsync。
| 場景 | 推薦工具 |
|---|---|
| 單一小檔、臨時傳輸 | scp |
| 大目錄、增量備份、斷點續傳 | rsync |
| 跨機房、低頻寬 | rsync -z + 限速 |
| 需保留硬連結、裝置檔 | rsync -aHAX |
掌握 scp 與 rsync,涵蓋 95% Linux 檔案傳輸需求。