通过brew软件包管理工具下载lrzsz即可
第一步:安装brew
打开mac自带终端terminal
wangxw$ /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
开始执行Brew自动安装程序
[cunkai.wang@foxmail.com]
[2020-12-25 17:56:32][10.15]
https://zhuanlan.zhihu.com/p/111014448
请选择一个下载镜像,例如中科大,输入1回车。
源有时候不稳定,如果git克隆报错重新运行脚本选择源。cask非必须,有部分人需要。
1、中科大下载源 2、清华大学下载源 3、北京外国语大学下载源 4、腾讯下载源(不显示下载进度) 5、阿里巴巴下载源(缺少cask源)
选择一个合适的源下载即可。
第二步:brew搜索lrzsz并下载
bogon:~ wangxw$ brew -v
Homebrew 2.7.0-90-g5521c76-dirty
Homebrew/homebrew-core (git revision 7bff8; last commit 2020-12-25)
Homebrew/homebrew-cask (git revision 3e15fc; last commit 2020-12-25)
bogon:~ wangxw$ brew search lrzsz
==> Formulae
lrzsz
bogon:~ wangxw$ brew install lrzsz
==> Downloading https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/bottles/lr
######################################################################## 100.0%
==> Pouring lrzsz-0.12.20_1.catalina.bottle.tar.gz
/usr/local/Cellar/lrzsz/0.12.20_1: 18 files, 473.9KB
bogon:~ wangxw$ brew ls
lrzsz
#成功下载
第三步:配合iterm2-zmodem使用
下载iterm2-zmodem
bogon:~ wangxw$ git clone https://github.com/aikuyun/iterm2-zmodem.git
bogon:~ wangxw$ cp ./iterm2-zmodem/iterm2-* /usr/local/bin
bogon:~ wangxw$ ll /usr/local/bin/iterm2-*
-rw-r--r-- 1 wangxw admin 1010 12 25 19:14 /usr/local/bin/iterm2-recv-zmodem.sh
-rw-r--r-- 1 wangxw admin 959 12 25 19:14 /usr/local/bin/iterm2-send-zmodem.sh
bogon:~ wangxw$ chmod +x /usr/local/bin/iterm2-*
bogon:~ wangxw$ rm -rf iterm2-zmodem/
第四步:设置iterm2,按下面配置填写在下图的位置
Regular expression: /*/*B0100
Action: Run Silent Coprocess
Parameters:/usr/local/bin/iterm2-send-zmodem.sh
Regular expression: /*/*B00000000000000
Action: Run Silent Coprocess
Parameters:/usr/local/bin/iterm2-recv-zmodem.sh

image.png

image.png

image.png
rz sz命令就可以正常使用了。
比如我在centos8虚拟机上执行rz如下
root@test8 ~]# rz
会弹出finder询问你想要传输的文件
选择主机上想要的文件就可以传送到linux了。
sz同理可以将linux的文件传送到主机需要的目录下。
lrzsz遇到的问题:
rz sz到linux主机时候会夯住,有时候正常显示传送完了,但是文件不在。也就是sz rz工具不能用。
这种问题可能是使用iterm自动登陆虚拟机使用了expect脚本
cat /Users/wangxw/Desktop/iterm/10.0.0.8
#!/usr/local/bin/expect -f
set PORT 9527
set HOST 10.0.0.8
set USER root
set PASSWORD 123456
set timeout 30
spawn ssh -p $PORT $USER@$HOST
expect {
"yes/no" {send "yes\r";exp_continue;}
"*password:*" { send "$PASSWORD\r" }
}
interact
expect eof
既然使用了expect ,那么lrzsz就不好使,具体原因,博主也不知。
可以弃用expect方法自动登录,然后使用公钥验证方法自动登录服务器。
基于密钥自动登录请看下篇文章:
mac os/linux实现基于密钥的SSH自动登录方式然后我们再用lrzsz工具就正常了。