Linux上传下载文件,rz和sz命令使用

前言

经常需要从本地电脑上传文件到服务器,或者把服务器上的文件下载到本地。除了用 FTP 工具,还有更简单的 rz 和 sz 命令,直接在终端里就能操作。本文讲一下怎么用。

安装 lrzsz

rz 和 sz 命令来自 lrzsz 包,CentOS 最小化安装可能没有:

yum install -y lrzsz

Ubuntu 的话:

apt install -y lrzsz

rz 上传文件(从本地上传到服务器)

基本用法

直接输入:

rz

执行后会弹出一个文件选择窗口,选你要上传的文件,点确定就开始上传了。

注意: 文件会上传到你当前所在的目录。

指定文件名

上传后直接改成指定名字:

rz -y 新文件名

-y 是覆盖同名文件。

上传多个文件

执行 rz 之后在文件选择窗口可以按住 Ctrl 多选。

sz 下载文件(从服务器下载到本地)

下载单个文件

sz 文件名

比如下载 index.html:

sz index.html

执行后会弹出保存窗口,选保存位置就开始下载了。

下载多个文件

sz 文件1 文件2 文件3

比如:

sz a.txt b.txt c.txt

下载整个目录(先打包)

sz 不能直接下载目录,要先打包:

tar -zcvf backup.tar.gz /var/www/html
sz backup.tar.gz

常见使用场景

场景1:上传配置文件

# 先进入要上传的目录
cd /etc/nginx/conf.d/

# 上传
rz

选本地的 nginx 配置文件,上传完就直接放到这个目录了。

场景2:下载日志文件

# 进入日志目录
cd /var/log/nginx/

# 下载访问日志
sz access.log

场景3:上传压缩包

本地把项目打包成 zip,然后:

cd /var/www/html/
rz

选本地的项目 zip 文件,上传完再解压。

常见坑

坑1:rz 命令找不到

执行 rz 提示 command not found。

原因: 没装 lrzsz 包。

解决:

yum install -y lrzsz

坑2:上传的文件不知道去哪了

执行了 rz,但不知道文件上传到哪了。

原因: 文件上传到你当前所在的目录。

解决: 上传前先 pwd 看一下当前目录在哪。

坑3:用了某些 SSH 工具不支持 rz/sz

有些 SSH 客户端(比如 Windows 自带的 cmd)不支持 rz/sz。

原因: rz/sz 需要终端支持 ZModem 协议。

解决: 用支持的 SSH 工具,比如 Xshell、SecureCRT、FinalShell、MobaXterm。

坑4:大文件上传慢

上传几百 M 的文件特别慢。

原因: rz/sz 走的是 SSH 通道,速度不快。

解决: 大文件用 SFTP 或者专门的传输工具(FileZilla)更快。

坑5:上传的文件是乱码

上传完中文文件名变成乱码。

原因: 编码问题。

解决: 用英文文件名,或者先打包成 zip 再上传。

总结

命令 作用
rz 从本地上传文件到服务器
sz 文件名 从服务器下载文件到本地

前提: 要先装 lrzsz 包,而且 SSH 工具要支持 ZModem 协议。

小文件用 rz/sz 很方便,大文件还是用 SFTP 吧。

遇到问题加QQ23979811 协助处理


emer 发布于  2026-10-6 08:01