Linux lrzsz文件传输工具的使用

目录

目录

前言

lrzsz的启用方法参考

lrzsz的验证测试参考

总结


前言

lrzsz是一款基于ZMODEM协议的文件传输工具集,包含rz(接收)和sz(发送)两个核心命令,可作为FTP替代方案实现本地与远程服务器间的文件交互 。该工具通过ZMODEM协议支持断点续传、CRC-32错误校验,适用于脚本、日志等小文件传输场景。

lrzsz工具有如下特点:

  1. lrzsz是Linux系统中常用的一个文件传输工具集合,一般用于传输小文件,可以在终端中使用命令行操作。
  2. lrzsz由`lrz`和`lsz`两个命令组成,主要作用是通过终端在本地系统和远程系统之间进行文件传输,特别适用于与远程服务器进行文件交互。
  3. lrzsz的主要作用是通过终端(串行线或Telent或SSH会话)在本地系统和远程系统之间进行文件传输。
  4. lrz(rz)的功能:用于从本地系统上传文件到远程系统(比如从PC端到主控板)。
  5. lsz(sz)的功能:用于从远程系统下载文件到本地系统(比如从主控板到PC端)。
  6. rz(receive Zmodem的缩写)和sz(send Zmodem的缩写)是Linux同Windows进行Zmodem协议文件传输的命令工具。

lrzsz的启用方法参考

  1. 在SDK根目录下执行,source build/envsetup.sh和lunch选择所需方案(这是必要的,不然编译buildroot时可能会编译不通过),例如:
bash 复制代码
$ source ./build/envsetup.sh
   including device/n7v13/boards/xxx/vendorsetup.sh

$ lunch
  1. 切换到buildroot目录下,例如:
bash 复制代码
cd buildroot-2019.11
  1. 查看buildroot现有的板级配置(板级配置文件在buildroot-2019.11/configs目录下),例如:
bash 复制代码
buildroot-2019.11$ make list-defconfigs | grep "xxx"
      xxx_1_defconfig        - Build for xxx_1
      xxx_2_defconfig        - Build for xxx_2
      xxx_3_defconfig        - Build for xxx_3
      xxx_4_defconfig        - Build for xxx_4
  1. 根据需求选择板级配置,例如:
bash 复制代码
buildroot-2019.11$ make xxx_2_defconfig
  1. 根据需求进入menuconfig逐项配置buildroot,如下:
bash 复制代码
buildroot-2019.11$ make menuconfig

BR2_PACKAGE_LRZSZ=y
  1. 将menuconfig的配置修改保存到配置文件,如下:
bash 复制代码
buildroot-2019.11$ make savedefconfig
  1. 查看当前buildroot所有配置了的目标软件包,也就是packages,如下:
bash 复制代码
$ make show-targets
  alsa-lib alsa-utils bash busybox can-utils dnsmasq dosfstools e2fsprogs ethtool fb-test-app gmp host-acl host-attr
  host-autoconf host-automake host-fakeroot host-libtool host-m4 host-makedevs host-patchelf host-skeleton initscripts
  iperf iperf3 iproute2 libopenssl libpng libsocketcan libzlib lrzsz ncurses nettle openssl readline skeleton
  skeleton-init-common skeleton-init-sysv spidev_test sysstat toolchain toolchain-external
   toolchain-external-custom util-linux zlib rootfs-tar
  1. 编译buildroot,如下:
bash 复制代码
buildroot-2019.11$ make
  1. 查看编译后生成的rootfs的情况,如下:
bash 复制代码
buildroot-2019.11$ cd output/images && ls -l
  1. 根据需求修改生成的rootfs的命名,修改rootfs打包路径。

  2. 由于此时rootfs有变动,所以需要清除当前SDK环境并重新编译SDK,如下:

bash 复制代码
make clean && make -j8 kernel && make -j8 root && make pkg

lrzsz的验证测试参考

下面以使用MobaXterm调试工具为例。

  1. 从PC端上传文件到主控板。

例如,进入主控板的所需文件夹,命令行输入`lrz`或`rz`,然后在MobaXterm调试工具终端界面右键选择`send file using Z-modem`。

bash 复制代码
# cd /mnt/card

# rz
  Sending: timer.pngve.**B0100000023be50
  *B0900000000a87c
  Uploading: 99%    (ETA 00:00  82 kB /   82 kB   128 kBPS)  **B010000006Bytes Sent:  84067   BPS:8656
  *B0800000000022d
  Transfer complete

# ls -l
  total 4416
  -rwxrwxrwx    1 root     root          7178 Nov 28  2023 09-??????.md
  -rwxrwxrwx    1 root     root        125787 Nov 17  2023 APP.PNG
  drwxrwxrwx    2 root     root         65536 Apr  2  2024 System Volume Information
  -rwxrwxrwx    1 root     root          3149 Mar 20  2024 readme.txt
  -rwxrwxrwx    1 root     root       3840044 Jun 14  2023 test.wav
  -rwxrwxrwx    1 root     root         84067 Mar  5  2024 timer.png
  -rwxrwxrwx    1 root     root         34002 Dec  1  2023 usb0.png
  drwxrwxrwx    3 root     root         65536 Jun 14 04:10 video_front
  drwxrwxrwx    2 root     root         65536 Jun 14  2023 video_front_lock
  1. 从主控板下载文件到PC端。

例如,进入主控板的所需文件夹,命令行输入`lrz`或`rz`,然后在MobaXterm调试工具终端界面右键选择`Receive file using Z-modem`。

bash 复制代码
# sz APP.PNG
  lrz waiting to receive.*CD@@@@Q3APP.PNG@125787 14525652070 100777 0 1 125787@kG

  Receiving: APP.PNG
  *CJ@@@@PNGMJZJ@@@MIHDR@@G @@BHB@@@/Ya@@@AsRGB@\@@@DgAMA@@KaE@@@IpHYs@@N@@NAod@@
  ...
  ?B@@@@@???b?J???E@@@@@?]h?9?j@@@@@@~PZDownloading: 100% kBytes received:    122/   122   kBPS:8
  ...
  ?OO# 00000000022d
  Transfer complete

总结

lrzsz工具集基于ZMODEM协议,提供rz(接收)和sz(发送)命令,支持断点续传和错误校验,适用于多种文件传输场景。‌

  • ‌服务器管理与运维‌:在无图形界面或受限网络环境中,系统管理员可直接通过终端上传配置文件、下载日志或传输脚本,替代FTP或SCP,提升操作效率。‌
  • ‌嵌入式系统开发‌:通过串口(如UART)与ARM开发板等设备通信时,lrzsz可用于传输固件、配置文件或调试数据,尤其在Bootloader阶段或无网络环境下作为"最后一公里"解决方案。‌
  • ‌软件开发与测试‌:开发者可快速上传代码包、资源文件或下载编译产物,支持大数据平台(如Hadoop、Spark)的部署与配置同步,简化跨环境文件交换流程。‌
  • ‌远程协助与轻量级传输‌:技术支持人员可通过终端调试软件(如Xshell、SecureCRT和MobaXterm等)直接拖拽文件,实现与用户的实时文件共享,适用于故障排查或临时数据交换。‌

相关推荐
小羽网安4 分钟前
Linux 服务器如何进行安全加固?
linux·服务器·安全
念风27 分钟前
[Linux学习笔记]Uboot-DM的分析过程
linux
想唱rap33 分钟前
计算机网络基础
linux·计算机网络·mysql·ubuntu·bash
fetasty44 分钟前
chroot的Linux服务配置-当云服务器真正用起来
android·linux·服务器
BullSmall1 小时前
linux 系统下模拟网络丢失和ping延迟,可以怎么来模拟
linux·网络·php
brahmsjiang1 小时前
理解Android AOT编译与内存映射:从Zygote启动到页表权限隔离
android·linux·zygote
亚空间仓鼠1 小时前
OpenEuler系统常用服务(十)
linux·运维·服务器·网络
艾莉丝努力练剑1 小时前
【Linux线程】Linux系统多线程(四):线程ID及进程地址空间布局,线程封装
java·linux·运维·服务器·c语言·c++·学习
dddddppppp1231 小时前
linux head.s 从第一条指令到start_kernel
linux·运维·服务器
BioRunYiXue1 小时前
AlphaGenome:DeepMind 新作,基因组学迎来 Alpha 时刻
java·linux·运维·网络·数据库·人工智能·eclipse