通过串行端口将文件从 Windows 传输到 Linux(无需网络连接)

通过串行端口将文件从 Windows 传输到 Linux(无需网络连接)

我有一台 Windows 7 机器,它通过串行连接连接到 Linux 原型板。

现在,我想将文件从 Windows 传输到 Linux。 Linux 机器除了串行之外没有额外的网络连接,并且未安装程序、、rzsz。而且,python lib也没有安装。screentmuxserial

现在我想我可以在 Windows 上打开 PuTTY,连接到 Linux 机器。然后在 Windows 上运行nohup cat /dev/ttyMDF2 > receiving-file并关闭 PuTTY,重新打开串口进行连接。然后copy test.file /B COM4: /B在Windows机器上运行发送文件。不幸的是,该文件在 Linux 计算机上保持为空。

如何通过串行连接成功地将文件传输到我的 Linux 机器?

谢谢你!

答案1

对于小型文本文件,cat > somefile请使用终端的粘贴功能将文件放入。点击^D末尾。

对于二进制文件,您可能希望首先对其进行 Base64 编码,然后使用base64 -d somefile.encoded > somefile.假设你有base64.您必须以某种方式在 Windows 端进行编码。

对于较大的文件,粘贴到终端可能不起作用,因此您需要一些用于读取文件的东西。 Putty 似乎没有在连接上转储文件的功能,而其他一些终端程序可能有。尽管plinkPutty 附带的命令行工具可以-m选择从文件中读取“命令”。似乎在这里工作。有了这个foo.txt

cat > foo.out <<EOF
adsf
EOF

运行plink -m foo.txt itvirta@somehost很好地创建了该文件。 (通过 SSH,但串行连接不应该有不同的原因。)使用base64,您可以跳过 cat:

base64 -d <<EOF > 输出文件
(base64编码数据...)
EOF

相关内容