以下是关于 Linux 下 lrzsz 库的安装与使用 的详细指南,适用于通过终端(如 SecureCRT、Xshell、MobaXterm 等)使用 ZMODEM 协议快速上传和下载文件:
一、lrzsz 简介
- 功能:提供
rz
(接收文件)和sz
(发送文件)命令,基于 ZMODEM 协议 在终端中直接传输文件。 - 适用场景:
- 通过串口或 SSH 连接到远程服务器,且终端支持 ZMODEM(如 SecureCRT、Xshell)。
- 无图形界面环境下的简单文件传输。
- 优点:操作简单,无需配置额外服务(如 FTP/SCP)。
- 缺点:依赖终端兼容性,传输大文件时可能不稳定。
二、安装 lrzsz
1. 不同 Linux 发行版的安装方法
- Debian/Ubuntu:
sudo apt update sudo apt install lrzsz
- CentOS/RHEL:
sudo yum install lrzsz
- Arch/Manjaro:
sudo pacman -S lrzsz
2. 验证安装
安装完成后,检查 rz
和 sz
是否可用:
which rz sz
# 输出示例:/usr/bin/rz /usr/bin/sz
三、使用 lrzsz
1. 上传文件到服务器(本地 → 远程)
- 命令:
rz
- 操作步骤:
- 在终端中进入要保存文件的目录(如
cd ~/downloads
)。 - 输入
rz
命令。 - 终端会弹出文件选择对话框(需终端支持),选择本地文件即可上传。
- 在终端中进入要保存文件的目录(如
- 示例:
cd /tmp # 切换到服务器接收目录 rz # 弹出对话框选择本地文件
2. 下载文件到本地(远程 → 本地)
- 命令:
sz <file>
- 操作步骤:
- 在终端中进入文件所在目录。
- 输入
sz 文件名
。 - 终端会弹出保存对话框,选择本地保存路径。
- 示例:
sz /var/log/nginx/error.log # 下载日志文件
3. 常用选项
选项 | 说明 |
---|---|
-y | 覆盖已存在的文件 |
-e | 转义控制字符(兼容旧终端) |
-b | 以二进制模式传输 |
示例:
rz -y # 上传时覆盖同名文件
sz -b file # 以二进制模式下载文件
四、注意事项
-
终端兼容性:
- 确保终端工具(如 SecureCRT、Xshell)启用了 ZMODEM 支持(通常在连接设置中配置)。
- 部分工具(如 macOS 默认终端、GNOME Terminal)不支持 ZMODEM,需使用第三方工具(如
lrzsz
+expect
脚本)。
-
文件路径:
rz
上传的文件默认保存在当前终端的工作目录。sz
下载时需要指定文件的绝对路径或相对路径。
-
大文件传输:
- lrzsz 适合小文件传输,大文件可能因网络中断导致失败。建议使用
split
分割文件或改用scp/rsync
。
- lrzsz 适合小文件传输,大文件可能因网络中断导致失败。建议使用
五、常见问题解决
1. 执行 sz
或 rz
无反应
- 原因:终端未启用 ZMODEM 协议。
- 解决:
- 检查终端设置(如 SecureCRT:Options → Session Options → Connection → ZMODEM)。
- 换用支持 ZMODEM 的终端工具(如 MobaXterm)。
2. 传输中断或失败
- 原因:网络不稳定或文件过大。
- 解决:
- 重试传输。
- 使用
split
分割文件:split -b 100M large_file.zip large_file_part_ # 分割为 100MB 的块 sz large_file_part_* # 逐个传输
3. 安装后命令仍不可用
- 原因:未正确安装或路径未配置。
- 解决:
sudo apt install --reinstall lrzsz # 重新安装
六、替代方案
如果 lrzsz
无法满足需求,可考虑以下工具:
- SCP/SSH:
scp user@host:/remote/file /local/path
- rsync:增量同步大文件。
- curl/wget:通过 HTTP/FTP 下载。
掌握 lrzsz
后,你可以在终端中快速完成小文件传输,尤其适合无图形界面的服务器环境!