MacOS使用Iterm2终端和lrzsz工具上传和下载文件到服务器

MacOS使用Iterm2终端和lrzsz工具上传和下载文件到服务器

对于普通的服务器,一般利用scp命令来实现文件的传输。但是,如果服务器要经过堡垒机连接,则无法这样来进行操作。一个替代解决方法就是通过lrzsz工具,结合Iterm2终端界面来进行操作。

首先,下载Iterm2:下载地址:https://www.iterm2.com

然后,安装lrzsz:

brew install lrzsz

接受和发送文件的命令分别是rz(receive)和sz(send)。在Iterm2的命令行里直接输入

rz
sz

即可。

但是,这时如果直接输入,就会发现可能会出现类似下面的情况:

MacOS使用Iterm2终端和lrzsz工具上传和下载文件到服务器

在这个位置等待,无法进行操作,也没有弹出文件窗口。

这个问题已经有现成的脚本用来解决了,下载以下两个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