secureCRT 使用 rz 命令上传大文件失败出现乱码

linux shell rz和sz是终端下常用的文件传输命令,rz和sz通过shell被调用,其中rz用于从启用终端的系统上传文件到目标系统(终端登录的目标系统), 这里不过多介绍这些命令,只是记录一个使用rz过程中碰到的小问题。rz上传最大支持2G文件,超过2G文件需要切割文件成小于2G的再上传。

       本人在rz命令(不带任何选项参数)上传一个可执行文件exe时,出现了error,导致终端挂死在rz命令中,因为之前没有碰到过这种情况,其他文件都可以正常上传。所以想到是不是rz在面对这个文件exe时存在问题,所以man rz了一下,发现-e选项,描述如下:

-e, --escape
              Force sender to escape all control characters; normally XON, XOFF, DLE,CR-@-CR, and Ctrl-X are escaped.

大致意思就是,-e选项强制对rz的控制字符进行转义,就想C中表示真正的反斜杠 '/',需要 '//'进行转义一样。

就想到是不是exe文件存在rz程序的控制字符导致上传出错,所以加上-e选项,问题解决,因此可以确定是由于文件中存在rz的控制字符导致了rz上传错误,所以为了防止rz出现上述问题,建议在用rz命令时都加上-e选项。

注意:单独用rz会有两个问题:上传中断、上传文件变化(md5不同),解决办法是上传是用rz -be,并且去掉弹出的对话框中“Upload files as ASCII”前的勾选。
-a, –ascii
-b, –binary 用binary的方式上传下载,不解释字符为ascii
-e, –escape 强制escape 所有控制字符,比如Ctrl+x,DEL等
rar,gif等文件文件采用 -b 用binary的方式上传。
文件比较大而上传出错的话,采用参数 -e
如果用不带参数的rz命令上传大文件时,常常上传一半就断掉了,很可能是rz以为上传的流中包含某些特殊控制字符,造成rz提前退出。
综上,请使用 rz  -be

参考:https://blog.csdn.net/kl28978113/article/details/78508126

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值