对于开发来说,ssh连接远程服务器是必不可少的,在windows下通常使用xshell(居然没有mac版本),mac虽然自带了term工具可以实现相应的功能,但是大多是情况下还是推荐使用iTerm2这款软件。
1、下载、安装:
官网地址:Downloads - iTerm2 - macOS Terminal Replacement
下载时注意选择对应的mac os的版本。下载后是一个dgm文件,直接双击,根据提示将iterm2拖到application中即可。
1)常用功能:
默认选中即可复制,鼠标滚轮粘贴。
2)窗口分割:
- command + t :创建新窗口
- command + d :垂直分割当前窗口
- command + Shift + d :水平分割当前窗口
3)多个窗口同时执行命令:
command + shift + i :iterm2会弹出提示,各窗口右上角会出现一个图标,表示多窗口同时输入同一个命令。再次执行command + shift + i 取消多窗口同时输入命令。
4)窗口切换:
- command + 左右:切换不同窗口;
- command + 数字:聚焦指定窗口;
- command + w : 关闭窗口;
2、管理ssh连接配置:
1)使用密码登陆:
借助expect命令实现交互式,编辑mylinux脚本:
#!/usr/bin/expect
set PORT 22
set HOST 你的远程服务器地址
set USER 服务器用户名
set PASSWORD 服务器登录密码
spawn ssh -p $PORT $USER@$HOST
expect {
"yes/no" {send "yes\r";exp_continue;}
"*password:*" { send "$PASSWORD\r" }
}
interact
然后设置:工具栏中选择Profiles > Open Profiles... ,在弹出的界面上选择Edit Profiles...
设置后,下次可以通过Profiles中直接打开:
2)通过跳板机登陆:
如果是通过跳板机来登陆某台服务器,一般都是先通过ssh key登陆到跳板机,然后在跳板机上通过ssh登陆到具体的服务器。首先生成ssh key,并将公钥放到跳板机上,编辑如下jumpbox.sh脚本:
ssh -p 3456 [email protected]
在Profiles中设置登陆跳板机的登陆:
注意:在Send text at start中输入跳板机上可以执行的命令,即可通过跳板机跳到具体某台服务器。
3、使用rz、sz下载命令:
远程文件传输的工具有很多,例如rz、sz;scp;ftp等。Mac操作系统上通常可以通过scp来进行传输,但是由于公司连接远程服务器都统一通过跳板机访问,导致无法使用scp,ftp中转的机器也难协调。使用rz、sz工具能很好解决上述问题。在windows的xshell直接可以使用rz/sz命令(只要远程服务器上装了rz/sz即可),在mac上需要如下配置:
1)远程服务器上安装rz/sz:
yum -y install lrzsz
2)本地安装lrzsz:
brew install lrzsz
前提是安装来brew工具,官网:macOS(或 Linux)缺失的软件包的管理器 — Homebrew,将如下命令粘贴到命令行即可:(等待时间较长)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
3)下载iterm2-send-zmodem.sh 和iterm2-recv-zmodem.sh两个脚本:
iterm2-zmodem的github地址:GitHub - aikuyun/iterm2-zmodem: 在 Mac 下,实现与服务器进行便捷的文件上传和下载操作,将上述两文件下载到本地(可以通过chrome安装enhanced github插件实现github上的单个文件下载)。一般保存到在本地/usr/local/bin/目录下保存
4)设置权限:
chmod 777 /usr/local/bin/iterm2-*
5)设置Iterm2的Tirgger特性,profiles->default->editProfiles->Advanced中的Tirgger:
1.第一条
Regular expression: rz waiting to receive.\*\*B0100
Action: Run Silent Coprocess
Parameters: /usr/local/bin/iterm2-send-zmodem.sh
Instant: checked
2.第二条
Regular expression: \*\*B00000000000000
Action: Run Silent Coprocess
Parameters: /usr/local/bin/iterm2-recv-zmodem.sh
Instant: checked
工具栏Profiles> Open Profiles... 选中要配置的profile,然后选择advance,找到Triggers:
4、配置trigger实现关键字高亮:
工具栏Profiles> Open Profiles... 选中要配置的profile,然后选择advance,找到Triggers,通过正则输入指定关键字,然后选择hight light即可:
效果:
5、其他配置:
5.1)关闭告警声音:
5.2)badge设置:
当开多个窗口工作时,很容易混乱。这时可以在preperence/profiles的general中设置badge,这样打开的窗口就会出现一个水印。
5.3)设置主题和字体:
1)主题:
Preferences > Profiles > Colors > Color Presets > 选择Solarized Dark (这个是哑光淡蓝色,在很多支持配色的软件里都有,是一个经典配色了)
2)字体:
Preferens > Profiles > Text > 勾上Use a different font for non-ASCII text > 选择自己喜欢的字体。iterm的默认字体是Monaco,Monaco的英文显示不错,但是对于中文支持不好(如果将字体放大,中文看起来比英文还小)。
好在iterm支持为非ASCII的字符设置另一种字体,所以我选择了Helvetica Neue(和Mac下印象笔记的字体一致,相信他们的专业审美),看起来好多了。