背景
CentOS7默认支持zmodem协议,进行文件传输。具体可以看一看百科:ZMODEM。值得注意的是,zmodem协议不能处理超过4G的文件。
Mac
brew install lrzsz
lrzsz是对zmodem协议实现的软件包。
iterm2-zmodem
https://github.com/mmastrac/iterm2-zmodem
这里主要是下载两个脚本:
- iterm2-recv-zmodem.sh
- iterm2-send-zmodem.sh
下载完成后,将这个两个脚本负责到/usr/local/bin/
文件夹下面,具体如下:
zylMBP:Downloads zhangyalin$ unzip iterm2-zmodem-master.zip
Archive: iterm2-zmodem-master.zip
f2b05887e8cea060d28c7129dbad8e3ec283a2c5
creating: iterm2-zmodem-master/
inflating: iterm2-zmodem-master/README.md
inflating: iterm2-zmodem-master/iterm2-recv-zmodem.sh
inflating: iterm2-zmodem-master/iterm2-send-zmodem.sh
zylMBP:Downloads zhangyalin$ cd iterm2-zmodem-master
zylMBP:iterm2-zmodem-master zhangyalin$ ls -l
total 24
-rw-r--r--@ 1 zhangyalin staff 1687 May 24 00:55 README.md
-rwxr-xr-x@ 1 zhangyalin staff 1177 May 24 00:55 iterm2-recv-zmodem.sh
-rwxr-xr-x@ 1 zhangyalin staff 1116 May 24 00:55 iterm2-send-zmodem.sh
zylMBP:iterm2-zmodem-master zhangyalin$ cp iterm2-recv-zmodem.sh /usr/local/bin/iterm2-recv-zmodem.sh
zylMBP:iterm2-zmodem-master zhangyalin$ cp iterm2-send-zmodem.sh /usr/local/bin/iterm2-send-zmodem.sh
iTerm2
设置iTerm2两个触发器,如下:
Key | Value |
---|---|
Regular expression | rz waiting to receive.**B0100 |
Action | Run Silent Coprocess |
Parameters | /usr/local/bin/iterm2-send-zmodem.sh |
Instant | checked |
Key | Value |
---|---|
Regular expression | **B00000000000000 |
Action | Run Silent Coprocess |
Parameters | /usr/local/bin/iterm2-recv-zmodem.sh |
Instant | checked |
具体如图:
使用
远程ssh登录到CentOS7后,就可以直接使用rz
进行文件上传和sz
进行文件下载。
不足
mmastrac大神将在未来为这个iTerm2的上传下载插件补充进度条功能。虽然,这个协议有4G文件大小约束,不过,可以使用split和cat命令来,切割和合并文件。
参考
ZModem integration for iTerm 2