在iTerm2中使用Zmodem实现快速传输文件(lrzsz)

一直苦恼于mac下使用rzsz传文件的问题,今天恰好在运维之美看到了就摘出来分享下。

步骤

大体的步骤有3个,

  1. 客户端安装lrzsz
  2. 服务端安装
  3. 在iTerm2中配置Zmodem

以下是相关脚本

1
2
3
4
5
6
7
apt-get install lrzsz # Ubuntu 服务器安装
yum install lrzsz # CentOS服务器安装
brew install lrzsz # 客户端安装
git clone https://github.com/mmastrac/iterm2-zmodem.git
cd iterm2-zmodem
cp iterm2-recv-zmodem.sh iterm2-send-zmodem.sh /usr/local/bin/

在客户端添加配置:
打开 iTerm2 ,点击 Preferences → Profiles 选择指定的 Profile,这里选 Default。然后继续选择 Advanced → Triggers,并点击 Edit 添加两个触发器。

alt

按如下内容添加两个触发器,首先增加 sz 指令的触发器:

Regular expression: rz waiting to receive.\*\*B0100
Action: Run Silent Coprocess
Parameters: /usr/local/bin/iterm2-send-zmodem.sh
Instant: checked

其次增加 rz 指令的触发器:

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

完后大工告成,你就可以在iTerm2中使用rz/sz 命令进行远程传输文件了。