Linux shell rz和sz是终端下常用的文件传输命令,rz和sz通过shell被调用,其中rz用于从启用终端的系统上传文件到目标系统(终端登录的目标系统), 这里不过多介绍这些命令,只是记录一个使用rz过程中碰到的小问题。
本人在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选项。