使用 zssh 进行 Zmodem 文件传输
Zmodem 最早是设计用来在串行连接(uart、rs232、rs485)上进行数据传输的,比如,在 minicom 下,我们就可以方便的用 Zmodem (说 sz 、rz 可能大家更熟悉)传输文件。只不过串口本身传输速度不快,文件大的话会让人有点崩溃。
没有彻底把笔记本装成 mint 前,在 windows 下都是用 secureCRT 来和板子进行通信的。secureCRT 下通过 ssh 连接开发板时, 可以方便的使用 Zmodem来进行文件的上传下载,但是,在 ubuntu 下似乎不是那么好实现。所以,也就一直在用 scp。
今天用腻了 scp,想恢复方便的 sz、rz,折腾了半天,终于找到了方法。
首先,mint(ubuntu、debian 类似)下需要安装下面两个包,都是官方包:
sudo apt-get install lrzsz sudo apt-get install zssh
其中,zssh 提供了一个在当前 ssh 中连接中进行文件传输的“管道”,真正执行 Zmodem 传输的,还是 lrzsz。当然,板子上也是要有 lrzsz 包的,这需要自己交叉编译放上去。
1、 使用 zssh 替代 ssh 连接到目标系统,并登入:
luo@Luo-X220 ~ $ zssh root@192.168.1.230
Press ^@ (C-Space) to enter file transfer mode, then ? for help
root@192.168.1.230's password:
[root@FriendlyARM /]#
2、下载文件到本地。比如,我们想从目标系统下载 /www/leds.html 到本地:
[root@FriendlyARM /www]# ls images leds.cgi webcam.html index.html leds.html led-result.template mini2440.png [root@FriendlyARM /www]# sz leds.html �B00000000000000 (此处,按 ctrl + @ 进入文件传输状态) zssh > rz Receiving: leds.html Bytes received: 4889/ 4889 BPS:646854 Transfer complete
[root@FriendlyARM /www]#
在目标系统输入 sz (send in Zmodem)时,我们开启了文件发送,此处可能会有乱码,暂时不管;然后,按 Ctrl+@ 进入文件传输模式,输入 rz 并回车进行文件下载,下载完成后,自动退出文件传输模式。 进入文件下载模式后,事实上,是进入了本机的一个终端,我们还可以使用常用命令行工具如ls,mkdir 等进行一些操作。另外,还有由 zssh 解析的如下工具:
3. 发送文件到目标系统。比如,我们要上传文件
[root@FriendlyARM /tmp]# ls qtembedded-0 usb3g.modemstatus [root@FriendlyARM /tmp]#
(此处,按 ctrl + @ 进入文件传输状态) zssh > ls Audiobooks Documents Music Public temp Videos build Downloads Pictures refer Templates work Desktop leds.html Podcasts router usr zssh > cd /tmp/ zssh > ls dropbear-2016.74 matecorba-luo pcaptest_F pulse-vXbjEXNVREX3 dropbear-2016.74.tar.bz2 mintUpdate plugtmp ssh-oTlcUBNo1637 keyring-9RSy6J mozilla_luo0 pulse-PKdhtXMmr18n zssh > sz dropbear-2016.74.tar.bz2 Sending: dropbear-2016.74.tar.bz2 Bytes Sent:1622234 BPS:3780858 Transfer complete [root@FriendlyARM /tmp]# ls dropbear-2016.74.tar.bz2 qtembedded-0 usb3g.modemstatus [root@FriendlyARM /tmp]#
上面的操作中,我们直接按 ctrl+@ 进入文件传输模式,然后,在文件传输模式中,使用 cd 指令切换到本机的 /tmp/ 目录(dropbear-2016.74.tar.bz2 放在这里),然后输入 sz dropbear-2016.74.tar.bz2 并回车,自动完成传输。
that's all!
无论在哪里做什么,只要坚持服务、创新、创造价值,其他的东西自然都会来的。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析