我有一台 Windows 7 机器,它通过串行连接连接到 Linux 原型板。
现在,我想将文件从 Windows 传输到 Linux。 Linux 机器除了串行之外没有额外的网络连接,并且未安装程序、、rz
和sz
。而且,python lib也没有安装。screen
tmux
serial
现在我想我可以在 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 似乎没有在连接上转储文件的功能,而其他一些终端程序可能有。尽管plink
Putty 附带的命令行工具可以-m
选择从文件中读取“命令”。似乎在这里工作。有了这个foo.txt
:
cat > foo.out <<EOF
adsf
EOF
运行plink -m foo.txt itvirta@somehost
很好地创建了该文件。 (通过 SSH,但串行连接不应该有不同的原因。)使用base64
,您可以跳过 cat:
base64 -d <<EOF > 输出文件 (base64编码数据...) EOF