Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux rz/sz 命令實戰指南:ZModem 協議實現高效文件上傳下載

編輯:關於 Linux

rz (Receive ZModem) 和 sz (Send ZModem) 是基於 ZModem 協議的文件傳輸工具,配合支持 ZModem 的終端模擬器 (SecureCRT, Xshell, MobaXterm, Termius) 實現 Linux 服務器與本地 Windows/Mac 之間的圖形化文件交互。本文詳解安裝、參數、實戰場景、故障排查。

一、ZModem 協議優勢

  • 全雙工、滑動窗口:無需逐包確認 (ACK),僅重傳損壞包,吞吐高、延遲低。

  • 斷點續傳:檢查點重啟,網絡中斷可從中斷處恢復。

  • 批量傳輸:單次命令發送/接收多文件,支持通配符。

  • 控制字符轉義:-e 參數處理 XON/XOFF/DLE 等控制字符,兼容各類串口/終端。

  • 二進制安全:-b 參數禁用文本模式轉換,保證文件 MD5 一致性。

二、安裝部署

# RHEL/CentOS/Fedora/Rocky/Alma
yum install -y lrzsz        # 或 dnf install -y lrzsz

# Debian/Ubuntu
apt update && apt install -y lrzsz

# openSUSE
zypper in lrzsz

# Arch/Manjaro
pacman -S lrzsz

# 源碼編譯 (極少見)
wget https://github.com/jerrykuku/lrzsz/archive/refs/tags/v0.12.20.tar.gz
tar xf v0.12.20.tar.gz && cd lrzsz-0.12.20
./configure --prefix=/usr/local/lrzsz && make && make install
ln -sf /usr/local/lrzsz/bin/lrz /usr/bin/rz
ln -sf /usr/local/lrzsz/bin/lsz /usr/bin/sz

三、核心參數詳解

參數含義建議
-bBinary 模式,禁用文本行尾轉換 (CR/LF)必加,保證二進制文件完整性
-eEscape 所有控制字符 (Ctrl+X, DEL, XON/XOFF...)必加,防止終端攔截控制字符導致傳輸異常
-y覆蓋已存在文件 (不提示)腳本自動化常用
-q靜默模式,抑制進度條腳本/後台運行
-t timeout設置超時秒數 (默認 60s)高延遲網絡調大
-vVerbose 詳細輸出調試用

黃金組合:rz -be / sz -be 文件...。

四、實戰場景演示

1. 上傳文件到服務器

[root@server ~]# rz -be
rz waiting to receive.
# 終端彈出文件選擇框,選擇單個/多個文件 (Ctrl/Shift 多選),確定
# 進度條顯示:文件名、大小、速度、耗時、錯誤數
# 完成顯示 "0 errors" 即成功

2. 從服務器下載文件

[root@server ~]# sz -be app.log config.yaml
# 文件發送到本地,終端按配置目錄保存 (SecureCRT: Options > Session Options > Terminal > Xmodem/Zmodem > Directories)
# 支持通配符: sz -be *.log

3. 取消傳輸

  • 文件選擇框點「取消」:服務端顯示 rz: cancelled。
  • 傳輸中按 Ctrl+C:服務端顯示 rz: file removed,已接收部分刪除。

4. 批量上傳目錄

rz 不直接支持目錄。解決方案:

# 本地打包 → 上傳 → 服務端解包
# 本地終端 (或本地機器):
tar czf project.tar.gz project/
# 上傳 project.tar.gz
rz -be
# 服務端:
tar xzf project.tar.gz

五、常見問題排查

現象原因解決
命令無響應/卡住終端不支持 ZModem 或未啟用SecureCRT: Terminal > Xmodem/Zmodem > 勾選 "Auto-start Zmodem upload/download"
上傳文件 MD5 不一致未使用 -b,文本模式轉換了換行符必須 rz -be;取消勾選 "Upload files as ASCII"
下載無反應 / 文件為空sz 鏈接錯誤指向 lrzls -l /usr/bin/sz 檢查,重建 ln -sf /usr/bin/lsz /usr/bin/sz
提示 "command not found"未安裝 lrzsz 包參考安裝章節
傳輸極慢/失敗網絡延遲高/丟包/MTU 問題調大 -t 超時;改用 scp/sftp/rsync 大文件傳輸
PuTTY 無法使用PuTTY 不支持 ZModem改用 Xshell/SecureCRT/MobaXterm/Termius 或 scp/sftp

六、安全建議

  • 生產環境優先使用 scp、sftp、rsync over SSH,加密傳輸、認證可控、可審計。
  • rz/sz 明文傳輸,僅建議內網受信環境、小文件 (<100MB) 快速交互使用。
  • 禁用 root 直接登錄,配合 sudo rz -be 審計操作。

七、總結

rz -be 上傳,sz -be file 下載,配合 SecureCRT/Xshell 等終端,是 Linux 運維「最後一公里」文件交互的利器。牢記 二進制模式 (-b) + 控制字符轉義 (-e) 保證數據完整性,大文件/生產環境轉用 scp/rsync。

rz/sz ZModem 文件傳輸示意圖

Copyright © Windows教程網 All Rights Reserved