从window上转换到Mac还是有一些不习惯的地方,今天就一直在弄这个远程服务器的操作的软件,先是费了好大劲下载了SecureCRT,又是破解弄了半天发现上传下载用不了,很是伤心。
一直想找一个类似xShell的软件,我放弃了,最后定为到iTerm配合rz和sz来实现上传下载。
先说一下为什么写这个文章,因为在网络上真的是看了好多的文章,良莠不齐,有的好使,有的根本就是***,所以打算记录一篇文章,不能说很好,但是是我亲测可行的,所以记录下来,希望给同行人一些帮助。
环境
- Mac ox 10.12.3
- iTerm2-3_1_5
安装iTerm2
- 建议去官网下载 http://www.iterm2.com/
- 也可以使用我提供的百度云链接 链接:http://pan.baidu.com/s/1geDTosj 密码:3rm2
安装方式和苹果的安装方式是一样的,解压双击 把他拖进application中就可以了。
安装rz sz
吐槽一下 好多的博客写的是很简单,一个命令 brew install lrzsz。。。可是也许有很多人没有brew这个命令 比如我 总是not found command,伤心。。
安装rz sz 前的准备 安装brew
简单介绍一下,一般我们在unix或者类unix的linux系统上,使用yum或者apt-get,不过抱歉,在mac osx上好像不好使,所以几经周折找到homebrew简称brew,它的功能就类似yum或者apt-get。它是max osx上的软件包管理工具。
- 安装homebrew 只需要下面一条语句即可
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
注意: 我在安装过程中看了很多博客,也尝试过很多链接,甚至打算翻墙来着,不过上面这条语句我一次执行就通过了(没翻墙),并看到了成功的标记 successful。
注意 在安装过会有一次卡顿,建入回车 接着我们会看到让我们输入密码,输入密码后等待安装就可以了。
好了,安装成功后输入 brew 查看是否有提示信息
harryliangdeMacBook-Pro:~ harryliang$ brew
Example usage:
brew search [TEXT|/REGEX/]
brew (info|home|options) [FORMULA...]
brew install FORMULA...
brew update
brew upgrade [FORMULA...]
brew uninstall FORMULA...
brew list [FORMULA...]
Troubleshooting:
brew config
brew doctor
brew install -vd FORMULA
Developers:
brew create [URL [--no-fetch]]
brew edit [FORMULA...]
https://docs.brew.sh/Formula-Cookbook.html
Further help:
man brew
brew help [COMMAND]
brew home
如果看到如上信息,则表示brew安装成功了。
安装lrzsz
- 这里安装才可以说简单了,使用如下命令即可
brew install lrzsz
配置rz sz 进行上传下载
要想使用rz 和sz进行上传下载我们要尽兴一些配置
- 进入到/usr/local/bin 目录下
cd /usr/local/bin
- 这个目录下需要两个配置文件,这个配置文件可以自己粘贴,也可以去github网站下载。
- github网址: https://github.com/mmastrac/i…
- 如果不会下载就在github上打开文件 自己创建两个文件 并把内容粘贴进去
- 这里把我的配置过程和配置文件内容粘贴出来给大家,方便大家操作。
- 在/usr/loal/bin 目录下创建两个文件
命令:
vi iterm2-recv-zmodem.sh
vi iterm2-send-zmodem.sh
创建好两个文件后分别添加内容:
- iterm2-recv-zmodem.sh
#!/bin/bash
# Author: Matt Mastracci (matthew@mastracci.com)
# AppleScript from http://stackoverflow.com/questions/4309087/cancel-button-on-osascript-in-a-bash-script
# licensed under cc-wiki with attribution required
# Remainder of script public domain
osascript -e 'tell application "iTerm2" to version' > /dev/null 2>&1 && NAME=iTerm2 || NAME=iTerm
if [[ $NAME = "iTerm" ]]; then
FILE=`osascript -e 'tell application "iTerm" to activate' -e 'tell application "iTerm" to set thefile to choose folder with prompt "Choose a folder to place received files in"' -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")"`
else
FILE=`osascript -e 'tell application "iTerm2" to activate' -e 'tell application "iTerm2" to set thefile to choose folder with prompt "Choose a folder to place received files in"' -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")"`
fi
if [[ $FILE = "" ]]; then
echo Cancelled.
# Send ZModem cancel
echo -e \\x18\\x18\\x18\\x18\\x18
sleep 1
echo
echo \# Cancelled transfer
else
cd "$FILE"
/usr/local/bin/rz -E -e -b
sleep 1
echo
echo
echo \# Sent \-\> $FILE
fi
- iterm2-send-zmodem.sh
#!/bin/bash
# Author: Matt Mastracci (matthew@mastracci.com)
# AppleScript from http://stackoverflow.com/questions/4309087/cancel-button-on-osascript-in-a-bash-script
# licensed under cc-wiki with attribution required
# Remainder of script public domain
osascript -e 'tell application "iTerm2" to version' > /dev/null 2>&1 && NAME=iTerm2 || NAME=iTerm
if [[ $NAME = "iTerm" ]]; then
FILE=`osascript -e 'tell application "iTerm" to activate' -e 'tell application "iTerm" to set thefile to choose file with prompt "Choose a file to send"' -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")"`
else
FILE=`osascript -e 'tell application "iTerm2" to activate' -e 'tell application "iTerm2" to set thefile to choose file with prompt "Choose a file to send"' -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")"`
fi
if [[ $FILE = "" ]]; then
echo Cancelled.
# Send ZModem cancel
echo -e \\x18\\x18\\x18\\x18\\x18
sleep 1
echo
echo \# Cancelled transfer
else
/usr/local/bin/sz "$FILE" -e -b
sleep 1
echo
echo \# Received $FILE
fi
-
将文件写好后保存好,使用如下命令添加权限
chmod +777 iterm2-*
- 配置好配置文件之后,开始对iTerm2进行配置
iTerm2 配置添加rz sz 功能
- 点击 iTerm2 的设置界面 Perference-> Profiles -> Default -> Advanced -> Triggers 的 Edit 按钮
— 在最后一个图片的位置进行配置,上图是配置好的样子,配置文件如下:
Regular expression: rz waiting to receive.\*\*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
按照上面的配置文件信息的格式填写即可。
ok!到此为止我们的rz sz安装配置就可以了,接着我们介绍一下rz 和 sz 的使用
rz 上传功能
- 在bash中,也就是iTerm2终端输入rz 就会弹出文件选择框,选择文件 choose 就开始上传,会上传到当前目录
sz 下载功能
- sz fileName(你要下载的文件的名字) 回车
- 会弹出窗体 我们选择要保存的地方即可。
小记
最后呢本来还想写点更多的用法,无奈在写文档的时候非常卡,下次再说吧。
这里呢想呼吁一下大家多些一些完整的博客,不要去直接复制粘贴转载。