シリアル接続を介してLinuxプロトタイピングボードに接続されているWindows 7コンピュータがあります。
これで、WindowsからLinuxにファイルを転送したいと思います。 Linuxシステムでは、シリアル、プログラム、rz
およびsz
。さらに、python libもインストールされていません。screen
tmux
serial
これで、WindowsでPuTTYを開き、Linuxシステムに接続できるようです。次に、WindowsでPuTTYを実行して閉じてから、nohup cat /dev/ttyMDF2 > receiving-file
シリアルポートを再度開いて接続します。次に、copy test.file /B COM4: /B
Windowsシステムでファイルの送信を実行します。残念ながら、Linuxシステムではファイルは空です。
シリアル接続を介してLinuxシステムにファイルを正常に転送するにはどうすればよいですか?
ありがとうございます!
ベストアンサー1
小さなテキストファイルの場合は、cat > somefile
端末の貼り付け機能を使用してファイルを挿入します。^D
終了をクリックします。
バイナリファイルの場合は、まずBase64でエンコードしてからbase64 -d somefile.encoded > somefile
。base64
大きなファイルの場合は、端末に貼り付けが機能しない可能性があるため、ファイルを読み取るには何かが必要です。 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