注册 登录

清河洛

Linux中使用lrzsz进行文件传输

qingheluo2023-03-31清河洛400
在服务器使用过程中,经常回遇到需要在Linux和Windows之间文件传输的情况,一般都是使用FTP或WinSCP进行文件传输,但是这些工具需要在本地安装客户端并进行配置之后才能使用lrzsz是Linux中上传下载的工具,安装即用,不需要任何的配置,就能方便快捷的在Linux和Windows之间传输文件lrzsz使用了XMODEM、YMODEM和ZMODEM文件传输协议来实现文件的传输,目前主流的SSH连接工具(SecureCRT、XShell等)都支持这些协议工具安装:yum install -y lrzsz安装完成之后,输入 "sz --v" 或者 "rz --v" 命令,如果输出版...

在服务器使用过程中,经常回遇到需要在Linux和Windows之间文件传输的情况,一般都是使用FTP或WinSCP进行文件传输,但是这些工具需要在本地安装客户端并进行配置之后才能使用

lrzsz是Linux中上传下载的工具,安装即用,不需要任何的配置,就能方便快捷的在Linux和Windows之间传输文件

lrzsz使用了XMODEM、YMODEM和ZMODEM文件传输协议来实现文件的传输,目前主流的SSH连接工具(SecureCRT、XShell等)都支持这些协议

工具安装:yum install -y lrzsz

安装完成之后,输入 "sz --v" 或者 "rz --v" 命令,如果输出版本号,则表示安装成功

设置上传下载目录

在使用rz/sz命令之前,需要先在SSH工具的设置上传下载目录,下面以SecureCRT为例:在SecureCRT中打开一个SSH会话后,打开"会话选项"窗口,终端 -> X/Y/Zmodem , 设置上传和下载目录

上传文件:rz [options]

执行rz命令之后,弹出选择文件窗口,选择要上传的文件,点击添加,可以添加多个文件,最后点击确认,添加的所有文件会上传到Linux终端当前所在目录中

如果Linux终端当前目录已经存在同名文件了,默认不会执行上传,要使用 -y 选项才会覆盖上传

-+, --append :如果文件已存在,则以追加模式写入
-a, --ascii  :以ASCII(文本)方式传输(根据系统自动切换\r\n和\n)
-b, --binary  :以二进制方式传输,保持原始内容不作任何更改
-D, --null  :将所有接收到的数据写入/dev/null
--delay-startup N  :延迟N秒执行操作
-e, --escape  :转义控制字符
-E, --rename  :重命名任何已存在的文件
-m, --min-bps N  :每秒传送的比特(bit)数小于N则停止传输
-O, --disable-timeouts :禁用超时,永远等待数据
--o-sync  :在同步写入模式下打开输出文件
-p, --protect :保护现有文件,文件已存在不执行操作,默认开启该选项
-q, --quiet  :安静模式,没有进度报告
-r, --resume  :尝试恢复中断的文件传输
-s, --stop-at HH:MM  :在指定时间停止传输
-s, --stop-at +N  :在N秒后停止传输
-t, --timeout N :将超时设置为十分之N秒
-y, --overwrite :如果文件已存在则覆盖

下载文件:sz [options] files

执行sz files命令之后,Linux上的指定文件会下载至我们设定的本地默认下载目录中

files可以是多个文件名,用空格隔开
files也可以使用通配符星号(*),如sz *.txt会下载当前所在目录中的所有txt后缀的文件
-+, --append  :追加模式
-4, --try-4k  :尝试使用4K每块进行传输
--start-4k  :强制使用4K每块进行传输
-8, --try-8k  :尝试使用8K每块进行传输
--start-8k  :强制使用8K每块进行传输
-a, --ascii  :ASCII(文本)方式
-b, --binary  :二进制方式
--delay-startup N    :延迟N秒执行操作
-e, --escape    :转义控制字符
-E, --rename    :重命名任何已存在的文件
-f, --full-path  :发送完整路径名
-m, --min-bps N  :每秒传送的比特(bit)数小于N则停止传输
-n, --newer  :如果源更新则传输文件
-O, --disable-timeouts :禁用超时,永远等待数据
-p, --protect :保护现有文件,文件已存在不执行操作,默认开启该选项
-r, --resume  :尝试恢复中断的文件传输
-q, --quiet  :安静模式,没有进度报告
-s, --stop-at HH:MM  :在指定时间停止传输
-s, --stop-at +N  :在N秒后停止传输
-u, --unlink  :不传输链接文件
-y, --overwrite :如果文件已存在则覆盖
-Y, --overwrite-or-skip :仅覆盖模式,如果文件已存在则覆盖传输,文件不存在则不传输

Linux上启动了tmux之后,无法使用rz/sz 命令,这是由于tmux不支持Zmodem协议

rz/sz不支持超过4G的文件,上传下载4G及以上大小的文件只能使用FTP或WinScp等工具

关于X/Y/Zmodem

Xmodem:是一种古老的传输协议, 传输速度较慢,但由于使用了CRC错误侦测方法,传输的准确率可高达99.6%。

Ymodem:是Xmodem的改良版,使用了1024位区段传送,速度比Xmodem要快

Zmodem:采用了串流式(streaming)传输方式,传输速度较快,而且还具有自动改变区段大小和断点续传、快速错误侦测等功能

目前Zmodem是使用得最多的,rz/sz 命令就是使用该传输协议的,命令中的 z 表示使用Zmodem协议



网址导航