与 Linux 服务器互相传输文件方法很多,有 scp,sftp,rsync 等等。sz (从服务器发送下载文件) 和 rz (从本地发送上传文件) 是比较有交互性和方便的小文件传输方式。

rz\sz 使用 ZMODEM 协议,因此终端需要支持该协议才能使用该命令。常见的软件 windterm\xshell\securecrt\le putty 等支持。

安装

1
2
sudo apt update
sudo apt install lrzsz

rz 上传文件到服务器

直接把文件拖动到终端上即可。或者使用命令方式:

1
2
3
rz
# or
rz -be

会弹出一个交互界面,选择需要上传的文件(可多选)进行上传。常见选项有:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
-+, --append
将文件内容追加到已存在的同名文件
-a, --ascii
以文本方式传输
-b, --binary
以二进制方式传输,推荐使用
--delay-startup N
等待 N 秒
-e, --escape
对所有控制字符转义,建议使用
-E, --rename
已存在同名文件则重命名新上传的文件,以点和数字作为后缀
-p, --protect
对 ZMODEM 协议有效,如果目标文件已存在则跳过
-q, --quiet
安静执行,不输出提示信息
-v, --verbose
输出传输过程中的提示信息
-y, --overwrite
存在同名文件则替换
-X, --xmodem
使用 XMODEM 协议
--ymodem
使用 YMODEM 协议
-Z, --zmodem
使用 ZMODEM 协议
--version
显示版本信息
--h, --help
显示帮助信息

sz 从服务器下载文件

1
sz file1 [file2 file3 ...]

会弹出一个交互界面,选择需要保存文件的文件夹即可。常用选项和 rz 基本相同。可使用命令 man sz 查看。

优缺点

  • rz 和 sz 只适合小文件的传输,大文件建议使用 rsync 等;
  • 只能传输文件,不能传输文件夹,建议压缩文件夹后传输;
  • 只有支持 zmodem 协议的软件才可以使用

参考文献

  1. 介绍一下rz、sz命令
  2. Linux_接收文件(rz)和发送文件(sz)
  3. 超级好用的文件传输命令rz与sz