博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mac下使用rz、sz远程上传下载文件的配置记录
阅读量:6989 次
发布时间:2019-06-27

本文共 3639 字,大约阅读时间需要 12 分钟。

rz、sz是linux系统上传和下载文件的工具,非常好用!需要注意的是:单独使用rz进行上传文件会有两个问题:上传中断、上传文件变化(md5不同),解决办法是上传是用rz -be,并且去掉弹出的对话框中“Upload files as ASCII”前的勾选(这是rz上传的坑:在对话框内选择上传文件时,记住不要勾选下方的"发送文件到ASCII",否则上传的文件会有问题!)

-a, –ascii 
-b, –binary 用binary的方式上传下载,不解释字符为ascii 
-e, –escape 强制escape 所有控制字符,比如Ctrl+x,DEL等

rar,gif等文件文件采用 -b 用binary的方式上传。 

文件比较大而上传出错的话,采用参数 -e 
如果用不带参数的rz命令上传大文件时,常常上传一半就断掉了,很可能是rz以为上传的流中包含某些特殊控制字符,造成rz提前退出。

所以在使用rz命令进行上传文件的时候,最好使用"rz -be"命令或"rz -abe",在Mac的terminal终端里默认是不能使用这两个工具的,需要安装第三方的iTerm2终端。操作如下:

1)下载安装iTerm2

下载地址: (下载zip格式的,直接解压,然后双击iTerm安装就行)

1
kevindeMacBook-Pro:Downloads kevin$ unzip iTerm2-3_1_beta_10.zip

 2)下载安装lrzsz

1
2
3
4
5
6
7
8
9
10
11
12
13
14
先安装brew
kevindeMacBook-Pro:Downloads kevin$ xcode-
select 
--
install
kevindeMacBook-Pro:Downloads kevin$ ruby -e 
"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
;
 
接着安装rz、sz
kevindeMacBook-Pro:Downloads kevin$ brew 
install 
lrzsz
-----------------------------------------------------------------------------------------------------
上面安装命令最好别加
sudo
,否则可能报错(即不要在root下执行):
Error: Running Homebrew as root is extremely dangerous and no longer supported. As Homebrew does not
-----------------------------------------------------------------------------------------------------
kevindeMacBook-Pro:Downloads kevin$ 
ls 
-l 
/usr/local/bin/rz
lrwxr-xr-x  1 kevin  admin  30  9 19 10:12 
/usr/local/bin/rz 
-> ..
/Cellar/lrzsz/0
.12.20
/bin/rz
kevindeMacBook-Pro:Downloads kevin$ 
ls 
-l 
/usr/local/bin/sz
lrwxr-xr-x  1 kevin  admin  30  9 19 10:12 
/usr/local/bin/sz 
-> ..
/Cellar/lrzsz/0
.12.20
/bin/sz

3)下载并安装automatic zmoderm for iTerm2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
kevindeMacBook-Pro:Downloads kevin$ 
cd 
/usr/local/bin/
kevindeMacBook-Pro:bin kevin$ wget https:
//raw
.github.com
/mmastrac/iterm2-zmodem/master/iterm2-send-zmodem
.sh
kevindeMacBook-Pro:bin kevin$ wget https:
//raw
.github.com
/mmastrac/iterm2-zmodem/master/iterm2-recv-zmodem
.sh
kevindeMacBook-Pro:bin kevin$ 
ls 
-l iterm*
-rw-r--r--@ 1 kevin  admin  1177  9 19 10:28 iterm2-recv-zmodem.sh
-rw-r--r--@ 1 kevin  admin  1116  9 19 10:28 iterm2-send-zmodem.sh
 
由于文件属性后面带@符号,需要去掉,否则会有问题!
kevindeMacBook-Pro:bin kevin$ 
cat 
iterm2-recv-zmodem.sh > iterm2-recv-zmodem.sh.bak
kevindeMacBook-Pro:bin kevin$ 
cat 
iterm2-send-zmodem.sh > iterm2-send-zmodem.sh.bak
kevindeMacBook-Pro:bin kevin$ 
rm 
-f iterm2-recv-zmodem.sh
kevindeMacBook-Pro:bin kevin$ 
rm 
-f iterm2-send-zmodem.sh
kevindeMacBook-Pro:bin kevin$ 
mv 
iterm2-recv-zmodem.sh.bak iterm2-recv-zmodem.sh
kevindeMacBook-Pro:bin kevin$ 
mv 
iterm2-send-zmodem.sh.bak iterm2-send-zmodem.sh
kevindeMacBook-Pro:bin kevin$ 
ls 
-l iterm*
-rw-r--r--  1 kevin  admin  1177  9 19 10:31 iterm2-recv-zmodem.sh
-rw-r--r--  1 kevin  admin  1116  9 19 10:31 iterm2-send-zmodem.sh
kevindeMacBook-Pro:bin kevin$ 
chmod 
755 iterm*
kevindeMacBook-Pro:bin kevin$ 
ls 
-l iterm*
-rwxrwxrwx  1 kevin  admin  1177  9 19 10:31 iterm2-recv-zmodem.sh
-rwxrwxrwx  1 kevin  admin  1116  9 19 10:31 iterm2-send-zmodem.sh

4)添加iTerm2 trigger。打开iTerm2,依次设置:iTerm2 --> Profiles --> Open Profiles --> Edit Profiles --> Advanced --> Edit Trigger

上面iTerm2 trigger的配置项需要添加两个,具体填写信息如下:

1
2
3
Regular expression    Action              Parameters
\*\*B0100         Run Silent Coprocess   
/usr/local/bin/iterm2-send-zmodem
.sh
\*\*B00000000000000    Run Silent Coprocess   
/usr/local/bin/iterm2-recv-zmodem
.sh

5)如上配置后,就可以在iTerm2终端里使用rz、sz进行上传下载操作了。(注意只能在iTrem2终端里使用,在iTrem2终端里跳转连接的远程机器也可以使用,不能在默认自带的terminal终端里。所以,后续在Mac下就用iTerm2代替默认的terminal终端吧,或者两者一起用。上传下载需求的时候就用iTerm2)

***************当你发现自己的才华撑不起野心时,就请安静下来学习吧***************
本文转自散尽浮华博客园博客,原文链接:http://www.cnblogs.com/kevingrace/p/7551304.html,如需转载请自行联系原作者
你可能感兴趣的文章