萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux 兩台電腦互傳檔案的兩種高效方法:scp 與 rsync

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

方法一:scp(安全複製)

基本語法

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/home2
  • 指定埠:scp -P 2222 file user@host:/path
  • 壓縮傳輸:scp -C file user@host:/path
  • 顯示進度:scp -v file user@host:/path

scp 參數速查

參數說明
-r遞迴複製目錄
-P指定 SSH 埠(小寫 -p 為保留時間戳)
-C啟用壓縮
-v詳細輸出(除錯)
-4/-6強制 IPv4/IPv6
-l limit限制頻寬 (Kbit/s)

方法二:rsync(遠端同步,推薦大量資料)

基本語法

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 免密碼登入配合自動化

設定 SSH 金鑰認證(參考文章 45771),即可在腳本、cron、CI/CD 中無人值守執行 scp/rsync。

效能比較建議

場景推薦工具
單一小檔、臨時傳輸scp
大目錄、增量備份、斷點續傳rsync
跨機房、低頻寬rsync -z + 限速
需保留硬連結、裝置檔rsync -aHAX

掌握 scp 與 rsync,涵蓋 95% Linux 檔案傳輸需求。

copyright © 萬盛學電腦網 all rights reserved