MacOS使用Iterm2终端和lrzsz工具上传和下载文件到服务器
对于普通的服务器,一般利用scp命令来实现文件的传输。但是,如果服务器要经过堡垒机连接,则无法这样来进行操作。一个替代解决方法就是通过lrzsz工具,结合Iterm2终端界面来进行操作。
首先,下载Iterm2:下载地址:https://www.iterm2.com。
然后,安装lrzsz:
brew install lrzsz
接受和发送文件的命令分别是rz(receive)和sz(send)。在Iterm2的命令行里直接输入
rz
sz
即可。
但是,这时如果直接输入,就会发现可能会出现类似下面的情况:
在这个位置等待,无法进行操作,也没有弹出文件窗口。
这个问题已经有现成的脚本用来解决了,下载以下两个sh脚本,放在 /usr/local/bin
路径中。
https://github.com/luxihk/iterm2-zmodem/blob/master/iterm2-recv-zmodem.sh
https://github.com/luxihk/iterm2-zmodem/blob/master/iterm2-send-zmodem.sh
下面,新建一个Iterm2的终端,在菜单栏选择Profiles→Edit Profiles→Advances→Triggers,点击+加号新建两个trigger。参数设置如下:
Regular expression: rz waiting to receive.**B0100
Action: Run Silent Coprocess
Parameters: /usr/local/bin/iterm2-send-zmodem.sh
Instant: checked
Regular expression: **B00000000000000
Action: Run Silent Coprocess
Parameters: /usr/local/bin/iterm2-recv-zmodem.sh
Instant: checked
这样设置好以后,再次键入rz或者sz就可以有文件窗口弹出了。
具体的收发文件方法是:
在远程服务器上键入rz
,弹出文件夹,选择文件,就可以接受到。
在远程键入sz filename
,弹出文件夹后,选择一个本地文件夹来存放远端下载过来的文件,就可以在本地收到该文件了。
2019-08-07 17:26:08