在现代服务器管理和运维工作中,高效地进行文件传输是一项基础而关键的需求,对于习惯使用命令行界面的 CentOS 用户而言,lrzsz
工具包提供了一个极为便捷的解决方案,它允许用户通过支持 ZMODEM 协议的终端工具(如 Xshell、SecureCRT、MobaXterm 等)直接在本地电脑和远程服务器之间上传和下载文件,无需额外配置 FTP 或 SFTP 服务,极大地简化了操作流程,本文将详细介绍在 CentOS 系统中安装、配置及使用 lrzsz
的完整过程。
什么是 lrzsz
?
lrzsz
是一个在 Unix/Linux 系统下使用的通信软件包,它包含了两个核心程序:
rz
(Receive ZMODEM):用于从本地终端向远程服务器上传文件,当在服务器上执行rz
命令后,终端会弹出一个文件选择窗口,用户选择文件后即可开始上传。sz
(Send ZMODEM):用于从远程服务器向本地终端下载文件,执行sz <文件名>
命令后,终端会提示用户选择保存位置,从而将文件下载到本地。
该工具基于 ZMODEM 协议,这是一种具备错误检测和自动重传机制的文件传输协议,相比早期的 XMODEM/YMODEM 协议,它在稳定性和传输效率上都有显著提升。
安装前准备
在开始安装之前,建议进行以下两项检查,以确保过程顺利。
检查系统版本与包管理器
CentOS 的不同版本使用了不同的默认包管理器,了解您的系统版本有助于选择正确的安装命令。
- CentOS 7 及更早版本:使用
yum
作为包管理器。 - CentOS 8 / Stream / Rocky Linux 8 / AlmaLinux 8 及更新版本:使用
dnf
作为包管理器(dnf
是yum
的后继者,命令语法高度兼容)。
您可以通过以下命令查看系统版本:
cat /etc/centos-release
检查是否已安装
为避免重复安装,可以先检查系统中是否已经存在 lrzsz
。
rpm -qa | grep lrzsz
如果命令输出了 lrzsz
的版本信息(lrzsz-0.12.20-36.el7.x86_64
),则表示已安装,您可以跳过安装步骤,如果没有任何输出,则需要继续进行安装。
确保拥有管理员权限
安装软件包需要 root 权限,请确保您使用的是 root 用户,或者普通用户已配置好 sudo
权限。
安装 lrzsz
lrzsz
包已包含在 CentOS 的默认软件源(Repository)中,因此安装过程非常简单。
使用 yum
/ dnf
安装(推荐)
这是最直接、最推荐的在线安装方式。
如果您是 CentOS 7 用户,请使用 yum
:
sudo yum install lrzsz -y
如果您是 CentOS 8 及以上版本用户,请使用 dnf
:
sudo dnf install lrzsz -y
命令解析:
sudo
:以管理员权限执行命令。yum
/dnf
:包管理器。install
:安装软件包的指令。lrzsz
:要安装的软件包名称。-y
:自动回答所有提示为“是”,避免在安装过程中需手动确认。
安装完成后,系统会显示“Complete!”或类似的完成信息。
使用 RPM 包离线安装
在某些无法连接互联网的隔离环境中,可以手动下载 RPM 包进行安装。
下载 RPM 包:
在一台可以联网的、系统版本相同的 CentOS 机器上,或访问官方镜像站(如vault.centos.org
)或第三方 RPM 资源网站(如pkgs.org
),下载lrzsz
的 RPM 包,使用yum
仅下载不安装:sudo yum install --downloadonly --downloaddir=/tmp lrzsz
这会将 RPM 包及其依赖下载到
/tmp
目录。传输 RPM 包到目标服务器:
使用 U 盘或其他方式将下载好的.rpm
文件复制到离线的目标服务器上。执行安装:
在目标服务器上,使用rpm
命令进行安装。sudo rpm -ivh lrzsz-*.rpm
-i
:表示安装。-v
:显示详细信息。-h
:显示安装进度条。
基本使用方法
安装成功后,您就可以在支持 ZMODEM 协议的终端工具中使用 rz
和 sz
命令了。
上传文件 (rz
)
- 通过终端工具登录到您的 CentOS 服务器。
- 使用
cd
命令切换到您希望接收文件的目录。 - 在终端中输入
rz
命令并回车:rz
- 您的本地终端客户端(如 Xshell)会自动弹出一个文件选择对话框,浏览并选择您要上传的文件,点击“确定”即可开始上传,传输进度会在终端中显示。
下载文件 (sz
)
- 同样,先登录到服务器。
- 使用
cd
命令切换到包含您要下载文件的目录。 - 在终端中输入
sz
命令,后跟文件名(支持通配符):sz filename.txt # 或者下载多个文件 sz *.log
- 执行后,您的本地终端客户端会弹出一个“保存文件”对话框,选择保存路径后,文件便会开始下载。
为了更清晰地对比,可以参考下表:
功能 | 命令 | 操作方向 | 触发方式 | 适用场景 |
---|---|---|---|---|
上传 | rz | 本地 → 服务器 | 服务器端执行,本地选择文件 | 快速将配置文件、脚本等上传到服务器 |
下载 | sz <file> | 服务器 → 本地 | 服务器端执行,指定文件名 | 从服务器获取日志、备份文件等 |
相关问答 FAQs
除了 lrzsz
,还有哪些其他常用的在 CentOS 上进行文件传输的方式?
解答: 当然有,lrzsz
以其便捷性著称,但根据不同场景,还有多种选择:
:基于 SSH 协议,命令简单,适合单次、快速的文件或目录复制。 scp user@remote:/path/to/file /local/path
。:同样基于 SSH,提供了一个交互式的文件传输会话,可以像操作本地文件一样浏览、上传、下载远程服务器上的文件,功能比 scp
更丰富。rsync
:一个非常强大的文件同步工具,支持增量传输,即只传输有变化的部分,非常适合用于数据备份和大规模镜像同步,它也能通过 SSH 隧道进行安全传输。- 搭建 FTP/SFTP 服务:对于需要频繁、多用户进行文件交换的场景,可以在服务器上配置
vsftpd
(FTP)或直接使用 OpenSSH 提供的内置 SFTP 功能。
为什么我执行了 rz
或 sz
命令,但是终端没有任何反应,或者只是开始了一堆乱码?
解答: 这个问题通常由以下两个原因导致:
- 终端客户端不支持 ZMODEM 协议:
lrzsz
的工作原理依赖于您的终端仿真软件(如 PuTTY、Xshell、SecureCRT 等)能够理解和响应 ZMODEM 协议的指令,一些基础的终端(如 Windows 自带的 CMD 或 PowerShell 配合 OpenSSH,或 PuTTY 的默认配置)可能不支持此协议,请确认您正在使用支持 ZMODEM 的终端工具,并检查其设置中是否已启用 ZMODEM 上传/下载功能。 - 网络或连接问题:不稳定的网络连接可能导致 ZMODEM 协议握手失败,从而使命令卡住或显示乱码,可以尝试重新连接服务器后再试,如果问题依旧,建议换用
scp
或sftp
等更通用的方式进行传输,它们对终端客户端的依赖性更小。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复