GoForum › 🌐 V2EX
rzsz: Rust 重写的 lrzsz
ob ·
2026-04-17 12:40 ·
0 次点赞 · 1 条回复
rzsz:Rust 重写的 lrzsz
起因是,在使用 rz 传文件的过程中,时不时会遇到控制台满屏乱码的情况,有时候传的日志文件比较大,直接就刷个不停,按 Ctrl+C 都结束不了。 然后就想着基于自己的使用习惯,给自己搞个简单好用的(主要是有 AI 帮忙),主要解决三个问题:
- 难以接受的乱码问题
- 每次用命令的时候,老得停顿思考一下是用 rz 还是 sz ,而且这俩组合按键按的有点别扭
- 统一改用 zz ,自动判断是发送还是接收文件,旧的 rz 和 sz 依然可用
安装
一键脚本(自动检测架构、装到 /usr/local/bin、建好所有符号链接):
curl -fsSL https://raw.githubusercontent.com/kookob/rzsz/main/install.sh | bash
cargo:
cargo install rzsz
旧的 lrzsz 怎么办?
一键脚本会检测到系统已有的 lrzsz 可选择替换或保留。想自己手动清理直接:
sudo apt purge -y lrzsz # Debian/Ubuntu
sudo yum remove -y lrzsz # CentOS/RHEL
hash -r # 清 shell 命令缓存,否则 rz 可能还指向旧路径
不想完全替代也行,装完后老的 rz sz 保留,日常用新的 zz 即可。回滚用 bash install.sh --uninstall。
用法
和 lrzsz 完全一样,直接替代。最常用的两条:
# 接收文件(在服务器执行,终端弹选择框让你选本地文件)
zz
# 发送文件(把服务器上的文件下载到本地)
zz file.tar.gz
zz *.log # 多文件
重名文件处理
默认直接覆盖。也可以改行为:
zz -y # 显式指定覆盖(默认行为)
zz -p # 保护模式:已存在则跳过
zz -E # 重命名:加 .1 .2 .3 后缀,原文件保留
提速 / 大文件
zz -k big.bin # 1024 字节块(默认)
zz -8 big.bin # 8K 字节块,大文件更快
zz -T file # turbo 模式,减少字节转义开销
路径控制(发送时)
zz -f dir/file.log # 发送时带完整路径
zz -j file # 接收时剥掉路径,只存到当前目录
断点续传
zz -r big.iso # 上次没传完,从中断处继续
其他常用
zz -v # 详细输出(可叠加 -vv -vvv )
zz -q # 安静模式,不打进度
zz -e file # 转义所有控制字符(某些透明代理需要)
zz -R # 限制路径,禁止 .. (默认开启)
zz -U # 关闭限制模式
zz --version
zz --help # 所有选项
XModem / YModem (串口刷固件场景)
rx file.bin # XModem 接收
sx firmware.hex # XModem 发送
rb # YModem 批量接收
sb file1 file2 # YModem 批量发送
其他
- 单二进制,~375KB ( musl 静态 < 500KB )
- 协议完整:ZModem + YModem + XModem
- 和 C lrzsz 双向兼容
项目地址: https://github.com/kookob/rzsz
觉得有用请点个 Star ⭐️,有问题欢迎提 Issue 。
1 条回复
添加回复
你还需要 登录
后发表回复
之前也有这个痛点。回头试试。