lrzsz、lrz、lsz、xshell、secureCRT

Xshell SecureCRT 系列 :串口传输文件 lrzsz

介绍

文件传输协议

文件传输是数据交换的主要形式。在进行文件传输时,为使文件能被正确识别和传送,我们需要在两台计算机之间建立统一的传输协议。这个协议包括了文件的识别、传送的起止时间、错误的判断与纠正等内容。

XMODEM协议[1][2]

XMODEM协议,是最早出现的2台计算机间通过RS232异步串口进行文件传输的通信协议标准,相对于YMODEM,ZMODEM等其他文件传送协议来说,XMODEM协议实现简单,适合于那些存储器有限的场合。

XMODEM协议是串行通信中的一种简单的异步文件传输协议,可以作为嵌入式设备bootloader通过串口升级应用时的传输协议。

XMODEM文件发送方将文件分解成128字节的定长数据块,每发送一个数据块,等待对方应答后才发送下一个数据块,数据校验采用垂直累加和校验,也可以采用16位的CRC校验。属于简单ARQ(自动请求重发)协议,所以也适合于2线制的半双工的RS485网络中使用。Xmodeme分为XModem和1k-XModem协议两种,前者使用128字节的数据块,后者使用1024字节即1k字节的数据块。

Ymodem
它包括XMODEM-1K的所有特征。允许批处理文件传输,效率更高。

Zmodem
modem则是改进的了Xmodem,只需要对损坏的块进行重发,其它正确的块不需要发送确认字节,减少通信量。

控制字符
符合 ASICII 标准定义,长度均为 1 字节

1
2
3
4
5
> SOH 0x01
> EOT 0x04
> ACK 0x06
> NAK 0x15
> CAN 0x18

SecureCRT下传输协议: ASCII、Xmodem、Ymodem、Zmodem4

  • ASCII:这是最快的传输协议,但只能传送文本文件。

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

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

  • Zmodem:Zmodem采用了串流式(streaming)传输方式,传输速度较快,而且还具有自动改变区段大小和断点续传、快速错误侦测等功能。这是目前最流行的文件传输协议。

命令

1
2
3
4
5
6
7
-- linux
rz
sz

-- OpenBSD
lrb lrx lrz
lsb lsx lsz

报错

在服务器上使用rz上传本地的文件到服务器时,出现乱码,并报错

1
Zmodem transfer cancelder by remote side

原因

需要对控制字符转义(escape),这可以保证文件传输正确

解决方法

1
2
3
rz -e 
or
rz -e xxx.tar.gz

个性化

SecureCRT 个性化设置


  1. https://www.cnblogs.com/packer/p/6024444.html ↩︎

  2. http://web.cecs.pdx.edu/~rootd/catdoc/guide/TheGuide_226.html ↩︎