シリアルポートを介してWindowsからLinuxにファイルを転送する(ネットワーク接続は不要)

シリアルポートを介してWindowsからLinuxにファイルを転送する(ネットワーク接続は不要)

シリアル接続を介してLinuxプロトタイピングボードに接続されているWindows 7コンピュータがあります。

これで、WindowsからLinuxにファイルを転送したいと思います。 Linuxシステムでは、シリアル、プログラム、rzおよびsz。さらに、python libもインストールされていません。screentmuxserial

これで、WindowsでPuTTYを開き、Linuxシステムに接続できるようです。次に、WindowsでPuTTYを実行して閉じてから、nohup cat /dev/ttyMDF2 > receiving-fileシリアルポートを再度開いて接続します。次に、copy test.file /B COM4: /BWindowsシステムでファイルの送信を実行します。残念ながら、Linuxシステムではファイルは空です。

シリアル接続を介してLinuxシステムにファイルを正常に転送するにはどうすればよいですか?

ありがとうございます!

ベストアンサー1

小さなテキストファイルの場合は、cat > somefile端末の貼り付け機能を使用してファイルを挿入します。^D終了をクリックします。

バイナリファイルの場合は、まずBase64でエンコードしてからbase64 -d somefile.encoded > somefilebase64

大きなファイルの場合は、端末に貼り付けが機能しない可能性があるため、ファイルを読み取るには何かが必要です。 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

おすすめ記事