Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 修复串行传输上ASCII编码二进制文件的传输_Linux_Vim_Encoding_Serial Port_Ascii - Fatal编程技术网

Linux 修复串行传输上ASCII编码二进制文件的传输

Linux 修复串行传输上ASCII编码二进制文件的传输,linux,vim,encoding,serial-port,ascii,Linux,Vim,Encoding,Serial Port,Ascii,我正在尝试将二进制文件从主机Linux系统移动到远程系统。由于远程系统没有internet功能,我将以串行方式发送文件。我首先使用uuencode将文件编码为ascii。在文件传输之前没有任何问题。在传输过程中,在每行文本之间添加空行,因此uudecode将无法工作。我可以在vim中手动编辑收到的文件以删除换行符,但这仅适用于“Hello world”大小的文件。我已经了解了如何在vim中使用宏来加快进程,但是远程系统上的包似乎缺少我需要的功能。我不能用q记录宏,也不能用g执行全局命令(按下任意

我正在尝试将二进制文件从主机Linux系统移动到远程系统。由于远程系统没有internet功能,我将以串行方式发送文件。我首先使用uuencode将文件编码为ascii。在文件传输之前没有任何问题。在传输过程中,在每行文本之间添加空行,因此uudecode将无法工作。我可以在vim中手动编辑收到的文件以删除换行符,但这仅适用于“Hello world”大小的文件。我已经了解了如何在vim中使用宏来加快进程,但是远程系统上的包似乎缺少我需要的功能。我不能用q记录宏,也不能用g执行全局命令(按下任意一个键时,vi返回“未实现”)。由于我没有互联网来更新远程系统,我想我必须在传输阶段纠正这个问题。有人知道我怎么做吗


如果相关的话,我使用minicom作为串行终端发送ascii文件。谢谢你的阅读

因此,这与其说是一个解决方案,不如说是一个解决方案,但将minicom中的文件传输协议从使用ASCII切换到Zmodem,lrzsz包消除了在文件传输过程中添加换行符的错误。远程系统上的文件可以立即解码,无需编辑

不是解决办法,这是解决方案。您的串行通信设置有错误的设置(因此您可以修复此问题,但这需要大量的来回操作)。因此,您很幸运地发现Zmodem是另一个为您进行串行设置的有效解决方案;-)。祝你好运