Skip to content

rz 与 sz 命令使用说明

概述

rzsz 是 Linux/Unix 系统中用于通过终端进行文件传输的命令行工具,通常与 SSH 和 Zmodem 协议结合使用。rz(receive)用于从本地上传文件到远程服务器,sz(send)用于从远程服务器下载文件到本地。这些工具在需要快速传输文件时非常实用,特别是在没有图形界面的服务器环境中。

安装

在大多数 Linux 发行版中,rzsz 包含在 lrzsz 软件包中。以下是安装步骤:

对于基于 Debian/Ubuntu 的系统

bash
sudo apt update
sudo apt install lrzsz

对于基于 Red Hat/CentOS 的系统

bash
sudo yum install lrzsz

对于 macOS(本地客户端)

如果您在本地 macOS 系统上使用终端并需要支持 rzsz,可以安装 lrzsz

bash
brew install lrzsz

确认安装

安装完成后,检查是否成功安装:

bash
rz --version
sz --version

如果返回版本信息,说明安装成功。

使用方法

前提条件

  • 确保您的终端软件支持 Zmodem 协议(例如 SecureCRT、XShell 或 iTerm2 配置了 Zmodem 插件)。
  • 确保本地和远程系统都已安装 lrzsz 软件包。
  • 通过 SSH 连接到远程服务器。

使用 rz 命令(上传文件)

rz 命令允许您将本地文件上传到远程服务器。

  1. 在终端中通过 SSH 登录到远程服务器。

  2. 进入目标目录,例如:

    bash
    cd /path/to/destination
  3. 输入以下命令启动上传:

    bash
    rz
  4. 终端会弹出文件选择对话框(取决于终端软件)。选择本地文件并确认。

  5. 文件将通过 Zmodem 协议上传到当前目录。

选项

  • -b:使用二进制模式传输(默认)。
  • -e:对控制字符进行转义,增强传输稳定性。
  • -y:覆盖目标目录中已存在的同名文件。

示例:

bash
rz -be

此命令以二进制模式上传文件,并确保控制字符转义。

使用 sz 命令(下载文件)

sz 命令允许您从远程服务器下载文件到本地。

  1. 在终端中通过 SSH 登录到远程服务器。

  2. 进入包含目标文件的目录,例如:

    bash
    cd /path/to/source
  3. 输入以下命令启动下载:

    bash
    sz filename

    替换 filename 为您要下载的文件名。支持同时下载多个文件,例如:

    bash
    sz file1.txt file2.txt
  4. 终端会提示选择本地保存路径(取决于终端软件)。选择路径并确认。

  5. 文件将通过 Zmodem 协议下载到本地。

选项

  • -b:使用二进制模式传输。
  • -e:对控制字符进行转义。
  • -y:覆盖本地已存在的同名文件。

示例:

bash
sz -be file1.txt

此命令以二进制模式下载 file1.txt,并确保控制字符转义。

注意事项

  1. 终端支持:确保您的终端软件支持 Zmodem 协议。如果使用 iTerm2,需要安装并配置 Zmodem 插件(例如 iterm2-zmodem)。
  2. 文件路径:在执行 rzsz 前,确认当前工作目录正确,以避免文件上传或下载到错误位置。
  3. 权限问题:确保远程服务器上的目标目录有写权限(用于 rz),以及读取权限(用于 sz)。
  4. 大文件传输:对于大文件,建议使用 -e 选项以提高传输稳定性。
  5. 替代工具:如果 rzsz 不适用您的场景,可以考虑使用 scprsync 或 FTP/SFTP 进行文件传输。

故障排除

  • rz/sz 命令未找到:确认 lrzsz 软件包是否安装正确。
  • 传输中断:检查网络连接稳定性,或尝试添加 -e 选项。
  • 终端无响应:确认终端软件是否支持 Zmodem 协议,并检查配置是否正确。

总结

rzsz 是简单高效的文件传输工具,特别适合通过 SSH 进行快速文件交换。通过正确安装和配置,您可以在命令行环境中轻松实现文件的上传和下载。

Released under the MIT License.