萬盛學電腦網

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

Linux rz/sz (ZModem) 檔案傳輸實戰:上傳下載參數、中斷恢復與多檔批次

rz (Receive ZModem)、**sz (Send ZModem)** 是利用 **ZModem 協定** 在終端機通道 (Serial/SSH/Telnet) 上進行檔案傳輸的經典工具。雖然速度僅 ~10 KB/s,適合中小檔案,但在**無法建立 SFTP/SCP/HTTP 直連**的受限環境 (堡壘機、跳板機、串口終端) 仍是剛需。本文詳細說明安裝、關鍵參數 -be、實戰範例、中斷恢復與常見坑點。

安裝

# RHEL/CentOS/Fedora (通常預裝)
yum install lrzsz -y
# 或 rpm -ivh lrzsz-*.rpm

# Debian/Ubuntu
apt install lrzsz

# 原始碼編譯 (指定前綴)
wget https://down1.chinaunix.net/distfiles/lrzsz-0.12.20.tar.gz
tar zxvf lrzsz-0.12.20.tar.gz
cd lrzsz-0.12.20
./configure --prefix=/usr/local/lrzsz
make && make install
ln -s /usr/local/lrzsz/bin/lrz /usr/bin/rz
ln -s /usr/local/lrzsz/bin/lsz /usr/bin/sz

關鍵參數:-be (生產環境必加)

標準用法: rz -be (上傳)、sz -be file1 file2 (下載)。

SecureCRT 客戶端設定

  1. Options → Session Options → Terminal → Xmodem/Zmodem → Directories:
    • Upload: 本地上傳資料夾
    • Download: 本地下載儲存資料夾
  2. **取消勾選** "Upload files as ASCII" (關鍵!)。
  3. ZModem 可自動偵測啟動 (收到 rz 發送的 **B00000000000000 標頭即彈出檔案選擇視窗)。

實戰範例

上傳單檔 / 多檔

rz -be
# 彈出視窗 → 選擇 jdk-6u21-linux-i586-rpm.bin → 確定
# 顯示進度:100% 77628 KB 137 KB/s 00:09:23 0 錯誤

可一次選取多個檔案批次上傳,依序傳輸。

下載檔案

sz -be install.log anaconda-ks.cfg
# 直接傳送至 SecureCRT 設定的下載資料夾

中斷與恢復

  • 傳輸中按 Ctrl+C:rz 會刪除已接收的部分檔案,顯示 removed。
  • ZModem 支援 **Checkpoint Restart (斷點續傳)**:再次執行 rz -be 選擇同檔案,客戶端會自動續傳 (需對端支援)。

常見問題排查

參數含義為何必要
-bBinary 模式 (不做 ASCII 轉換)避免二進制檔 (圖片、壓縮包、執行檔) 被轉換導致 MD5 不符
-eEscape 所有控制字元 (Ctrl+X, XON/XOFF, DLE, CR@CR...)防止控制字元被終端機/SSH 層攔截解釋,造成傳輸中斷或資料損毀

rz/sz 傳輸示意圖

copyright © 萬盛學電腦網 all rights reserved
現象原因解決
command not found未安裝 lrzszyum/apt install lrzsz
sz 指向 lrz 符號連結錯誤手動建立連結搞反ln -sf /usr/local/lrzsz/bin/lsz /usr/bin/sz
上傳 MD5 不符未加 -b,ASCII 模式轉換換行符必加 -be
傳輸中斷/卡住控制字元衝突、網路抖動加 -e、改用 nc/scp 大檔案
Putty 無法使用Putty 不支援 ZModem 自動觸發改用 SecureCRT / Xshell / MobaXterm / 電腦版微信遠程