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 (生產環境必加)
| 參數 | 含義 | 為何必要 |
-b | Binary 模式 (不做 ASCII 轉換) | 避免二進制檔 (圖片、壓縮包、執行檔) 被轉換導致 MD5 不符 |
-e | Escape 所有控制字元 (Ctrl+X, XON/XOFF, DLE, CR@CR...) | 防止控制字元被終端機/SSH 層攔截解釋,造成傳輸中斷或資料損毀 |
標準用法: rz -be (上傳)、sz -be file1 file2 (下載)。
SecureCRT 客戶端設定
- Options → Session Options → Terminal → Xmodem/Zmodem → Directories:
- Upload: 本地上傳資料夾
- Download: 本地下載儲存資料夾
- **取消勾選** "Upload files as ASCII" (關鍵!)。
- 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 選擇同檔案,客戶端會自動續傳 (需對端支援)。
常見問題排查
| 現象 | 原因 | 解決 |
command not found | 未安裝 lrzsz | yum/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 / 電腦版微信遠程 |

copyright ©
萬盛學電腦網 all rights reserved