Mac电脑通过Iterm2客户端与Linux服务器传输文件

rz,sz命令传输文件,比使用scp要方便得多,特别是在图形界面打开终端,SSH登陆到远程机器需要传输文件的时候。但是MacOS里Terminal.app并不支持Zmodel传输。好在iTerm2具备较强的扩展性可以通过简单的配置支持Zmodem传输。

Zmodem 是跨平台的文件传输协议,可以很方便的在不同的操作系统之间接传输文件。lzrsz 是该协议的实现方式:https://ohse.de/uwe/software/lrzsz.html。安装后,在 Mac 的 ITerm2 中用 SSH 登陆远程的 Linux 主机,然后用 rz 、sz 命令传输文件。

1. 在本地Mac端安装 lrzsz

先安装brew,即软件管理器,类似centOS的yum工具。

/usr/bin/ruby -e"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

另,如果需要卸载brew,可用如下命令。本次不需要卸载,仅做记录备忘。

ruby -e"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

安装brew之后就可在 Mac 中安装lrzsz:

brew install lrzsz

2. 下载脚本文件到本地Mac电脑里

从这里下载。复制到 /usr/local/bin/,并增加执行权限。

$ gitclone https://github.com/mmastrac/iterm2-zmodem.git

$ cp iterm2-zmodem/iterm2-send-zmodem.sh /usr/local/bin/iterm2-send-zmodem.sh

$ cp iterm2-zmodem/iterm2-recv-zmodem.sh /usr/local/bin/iterm2-recv-zmodem.sh

$ chmod +x /usr/local/bin/iterm2-send-zmodem.sh

$ chmod +x /usr/local/bin/iterm2-recv-zmodem.sh

3. 配置 Mac电脑上的iTerm2软件

iTerm2 -> Profiles -> Default ->Advanced -> Triggers -> edit

点击图中左下角所示『+』号,依次输入下面两行的内容。

Regular expression:  *\*B0100

Action: Run Silent Coprocess

Parameters: /usr/local/bin/iterm2-send-zmodem.shInstant: checked


Regular expression: \*\*B00000000000000

Action: Run Silent Coprocess

Parameters: /usr/local/bin/iterm2-recv-zmodem.shInstant: checked


Mac电脑通过Iterm2客户端与Linux服务器传输文件_第1张图片

4. Linux服务器上面也要安装lszrz软件

我安装到自己的bin目录下,还分别将lrz和lsz做了软连接。

Mac电脑通过Iterm2客户端与Linux服务器传输文件_第2张图片

5. 使用

发送文件:

登录服务器

$ rz

在弹窗中从本地选择文件

确定,等待

接收文件:

登录服务器

$ sz filename1 filename2 ... filenameN

在弹窗中选择接收的本地目录

确定,等待


参考资料References:

https://www.jianshu.com/p/775bd2c5b93d

https://segmentfault.com/a/1190000016860451

https://blog.csdn.net/ljxfblog/article/details/38396421

你可能感兴趣的:(Mac电脑通过Iterm2客户端与Linux服务器传输文件)