linux 中 rz 和ftp 原理解析

在日常linux的使用中 传文件更是家常便饭,在服务器上上传及下载文件有很多方式,例如:

rz 命令和ftp 应该是使用最多的了,但是在日常使用中我们有没有去了解和探索下他的原理?

下面说下rz 和ftp的原理

ftp 的下载速度 是rz 的3倍以上

rz 命令新版linux 系统都会自带,如果没有请更新下源并且安装

安装rz有两种方式:

1. 编译安装

下载文件

https://www.ohse.de/ 

linux 中 rz 和ftp 原理解析

点击圈出来的链接 进入下载

当然也可以在服务器中 用下面的方式直接下载

wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz

解压编译

tar zxvf lrzsz-0.12.20.tar.gz
make:
cd lrzsz-0.12.20

./configure && make && make install

创建软连接方便使用

cd 编译目录
sudo ln -s 编译目录/lrz rz
sudo ln -s 编译目录/lsz sz

2. 通过yum 安装 (对于网络畅通的服务器)

yum install -y lrzsz

rz 原理:

rz可以批量上传文件,也可以上传单个文件。使用的协议是ZMODEM协议。   (下面部分是从网上摘的)

ZMODEM 协议的介绍 :https://blog.csdn.net/ligerendaqiu123/article/details/44964791

下面简单说下ZModem协议的事情,先得从XMODEM协议(XMODEM Protocol)说起。XMODEM协议是一种使用拨号调制解调器的个人计算机通信中广泛使用的异步文件运输协议。这种协议以128字节块的形式传输数 据,并且每个块都使用一个校验和过程来进行错误检测。如果接收方关于一个块的校验和与它在发送方的校验和相同时,接收方就向发送方发送一个认可字节。然 而,这种对每个块都进行认可的策略将导致低性能,特别是具有很长传播延迟的卫星连接的情况时,问题更加严重。  
        使用循环冗余校验的与XMODEM相应的一种协议称为XMODEM-CRC。还有一种是XMODEM-1K,它以1024字节一块来传输数据。 YMODEM也是一种XMODEM的实现。它包括XMODEM-1K的所有特征,另外在一次单一会话期间为发送一组文件,增加了批处理文件传输模式。              
        ZMODEM是最有效的一个XMODEM版本,它不需要对每个块都进行认可。事实上,它只是简单地要求对损坏的块进行重发。ZMODEM对按块 收费的分组交换网络是非常有用的。不需要认可回送分组在很大程度上减少了通信量。它是Xmodem 文件传输协议的一种增强形式,不仅能传输更大的数据,而且错误率更小。包含一种名为检查点重启的特性,如果通信链接在数据传输过程中中断,能从断点处而不 是从开始处恢复传输。
     在命令行中敲一下rz -be,在SecureCRT下就会弹出文件选择框让你选择需要上传的文件了,而且可以选择多个;不过,如果是用putty,那就无能为力了。

      与rz命令相对应的,sz命令可以实现从Linux服务器下载文件到本地。

常用参数
  -b 以二进制方式,默认为文本方式。(Binary (tell it like it is) file transfer override.)
  -e 对所有控制字符转义。(Force sender to escape all control characters; normally XON, XOFF, DLE, [email protected], and Ctrl-X are escaped.)
  如果要保证上传的文件内容在服务器端保存之后与原始文件一致,最好同时设置这两个标志,如下所示方式使用:
  rz -be
  此命令执行时,会弹出文件选择对话框,选择好需要上传的文件之后,点确定,就可以开始上传的过程了。上传的速度取决于当时网络的状况。
  如果执行完毕显示“0错误”,文件上传就成功了,其他显示则表示文件上传出现问题了。

  有些版本的Linux下,执行rz命令报“command not found”,可以到安装盘中找 lrzsz*.rpm 去安装。

下面介绍下ftp的原理

大家可以看下 这篇文章(这里就不在赘述了)  https://blog.csdn.net/u014774781/article/details/48376633