직렬 연결을 통해 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