导航

Mac通过iTerm2使用sz/rz传输文件

Posted on 2025-05-08 17:01  蝈蝈俊  阅读(544)  评论(2)    收藏  举报

在MacOS下安装 lrzsz

使用 Homebrew 安装(推荐)

brew install lrzsz

# 检查是否安装成功:
rz --version # 查看版本
rz (lrzsz) 0.12.20

ls -alh /usr/local/bin/sz  # 检查 sz 命令是否存在
lrwxr-xr-x  1 fengbang  admin    32B  5  8 10:27 /usr/local/bin/sz -> ../Cellar/lrzsz/0.12.20_1/bin/sz

可通过 brew info lrzsz 查看 Homebrew 仓库中的最新版本。
截至 2025 年 5 月,lrzsz 的最新稳定版本是 0.12.20

手动安装(适用于无 Homebrew 环境)


# 下载源码
wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz
tar -xvf lrzsz-0.12.20.tar.gz
cd lrzsz-0.12.20

# 编译安装
./configure
make && sudo make install

# 创建软链接(使 rz/sz 命令可用)
ln -s /usr/local/bin/lrz /usr/local/bin/rz
ln -s /usr/local/bin/lsz /usr/local/bin/sz

配置 iTerm2 支持 ZMODEM 传输

如果希望在 iTerm2 中使用 rz/sz 进行文件传输,需额外配置:

下载 ZMODEM 脚本:

cd /usr/local/bin
sudo wget https://raw.githubusercontent.com/mmastrac/iterm2-zmodem/master/iterm2-send-zmodem.sh
sudo wget https://raw.githubusercontent.com/mmastrac/iterm2-zmodem/master/iterm2-recv-zmodem.sh
sudo chmod +x /usr/local/bin/iterm2-*.sh

在 iTerm2 中设置 Trigger:

进入 Preferences > Profiles > Advanced > Triggers,添加:

Regular Expression: \*\*B0100
Action: Run Silent Coprocess
Parameters: /usr/local/bin/iterm2-send-zmodem.sh

Regular Expression: \*\*B00000000000000
Action: Run Silent Coprocess
Parameters: /usr/local/bin/iterm2-recv-zmodem.sh

这样就能在终端中使用 rz 上传、sz 下载文件

使用注意项

大文件时出现中断或重复弹出文件选择框的问题

ZMODEM 协议对传输块大小和超时时间敏感,大文件容易超时中断。

调整 ZMODEM 参数:在运行 rz 时增加 -b(二进制模式)和 -e(转义控制字符):

rz -be

分卷压缩大文件:将文件拆分为小块传输后再合并:

tar czvf - bigfile | split -b 10M - bigfile_part.tar.gz.  # 压缩并分卷
rz -be bigfile_part.tar.gz.*  # 逐个传输
cat bigfile_part.tar.gz.* | tar xzvf -  # 接收后合并解压

参考: