Mac下的终端软件iTerm2(可代替secureCRT)

Posted realjimmy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mac下的终端软件iTerm2(可代替secureCRT)相关的知识,希望对你有一定的参考价值。

官网:https://www.iterm2.com/

功能说明:https://www.iterm2.com/features.html

公司要求使用正版软件办公,一直以来习惯了使用secureCRT,现在需要替换一款免费的软件,如果你跟我一样,iTerm2绝对是最好的选择。

一、类似crt的session保存功能

效果如下:

技术图片

1、添加方法

Profiles->Open profiles->Edit profiles

技术图片

2、如果需要分组显示,可以在Tag栏填写相同的标签, 它就自动按Tag分好组了。

3、colors栏可以设置各种颜色,我比较喜欢的是对tab进行设置不同颜色,这样方便快速找到。

4、Badge:设置以后会在终端界面上显示该名称,也是为了防止误操作

技术图片

5、设置session密码,有3种方法:

1)使用command,ssh-key方式登录服务器,在command里输入ssh xxx@x.x.x.x 由于是免密,也就不用输入密码了。

2)使用command,sshpass命令登录,可以在command的登录命令里带上密码。

  • 首先需要安装sshpass,下载:http://sourceforge.net/projects/sshpass/files/
  • 解压后,进入sshpass目录,执行安装  ./configure;make;make install
  • 检查是否安装成功:sshpass -V
  • 在command中添加/usr/local/bin/sshpass -p 密码 ssh -o StrictHostKeyChecking=no 用户名@192.168.1.2

【-o StrictHostKeyChecking=no 表示远程连接时不提示是否输入yes/no,如果ssh需要指定端口,在ssh后使用-p 端口参数】

3)使用脚本login shell + 本地文件

  • 先写一个登录用的脚本

#!/usr/bin/expect set timeout 30 spawn ssh -p [lindex $argv 0] [lindex $argv 1]@[lindex $argv 2] expect { "(yes/no)?" {send "yes ";exp_continue} "password:" {send "[lindex $argv 3] "} } interact

  • 可以放在任意一个文件夹下,其中[lindex $argv 0], [lindex $argv 1], [lindex $argv 2], [lindex $argv 3] 分别代表着端口号/用户名/服务器地址/ 密码4个参数。若不需要指定端口,可以在脚本中删除-p [lindex $argv 0],同时记得改后面argv的索引。
  • 配置 profile,在command里填写:脚本绝对路径 port 用户名 IP 密码

6、默认配置

对于标记了★的profile的配置,即可认为默认配置,每次新建profile的设置都会参考它作为默认配置。

二、窗口操作相关

  • shell 菜单下可选以下多窗口:

?

技术图片

  • shell > Duplicate Tab 可以快速新建一个 tab 且保留上一个 tab 的 pane 样式
  • 清空session内容

        edit > Clear Buffer —— 清空所有

        edit > Clear Scrollback Buffe —— 清空除了当前页面外的内容

  • 恢复不小心关闭的窗口

        Edit > Undo Close Session

        只支持恢复几分钟前不小心关闭的(原理是赶在没有真正断开链接前)

  • copy mode —— 复制模式

        Edit > Copy Mode,专门切换到用于复制的模式,此模式下不能修改任何内容

        无鼠标基本操作:

        1)空格toggle到复制光标状态

        2)上下左右剪头移动复制光标

        3)更多高级操作请看文档:https://www.iterm2.com/documentation-copymode.html

  • 显示命令执行时间

        显示命令执行的时间 View > Show Timestamps

  • 侧边工具栏

        Toolbelt->Show toolbelt 显示侧边工具栏

        Toolbelt->Command history 显示历史命令,但不知道为啥我的不会记录,有可能和我替换了zsh有关,通过?+; 能达到类似效果

        Toolbelt->Recent Directories 最近进入的目录

        Toolbelt->Actions 自定义按钮,比如可以把常输的命令保存成按钮,方便执行

技术图片

  • 隐藏 / 恢复 session

        1)隐藏 session:

        session窗口右键 > Bury 或 Session > Bury Session

        2)恢复 session:

        Session > Buried Sessions

三、实现secureCRT的clone功能

许多公司登录设备的时候需要先通过跳板机登录。而且往往都会为每一位开发配置一个token,动态的产生一个6位的数字串,用来作为登录密码。因为每次登录都需要输入token串是一件非常麻烦的事情,这里将通过配置来实现类似于secureCRT一样的session clone功能。

操作步骤:

  • 在~目录下的.ssh文件夹冲创建一个config文件,
  • 文件内容输入:

host * ControlMaster auto ControlPath ~/.ssh/master-%r@%h:%p

  • 这样的话,当登录第一次登录跳板机器的时候,和往常一样,但是第二次登录同样的跳板机的时候,就不需要输入token了。

这样可以在一定程度上减少输入token的次数。

如果你细心的话,你在~/.ssh/目录下发现master-*的sock文件。它记录了你目前登录到的机器,这样的话,你登录同样的机器就会重用同一个链接了。

四、广播命令行

首先理解几个概念,从小到大:session > pane > tab > window

技术图片

1、对要广播输入的session窗口右键 -> Toggle Broadcasting Input,在一个session上输命令将同步到所有选种的session里

2、更多可选设置,根据实际情况使用(shell > Toggle Broadcasting Input )?

技术图片

五、与shell集成

新版本的 iTerm2 可以与unix shell(支持tcsh、zsh、bash、fish 2.3)集成,提供更多功能。

1)我这里选用zsh,以下两种安装方式

# curl 安装方式 sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

# wget 安装方式 sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

2)把 Zsh 设置为当前用户的默认 Shell(这样新建标签的时候才会使用 Zsh)

$ chsh -s /bin/zsh

3)修改主题

编辑vim ~/.zshrc文件,将主题配置修改为ZSH_THEME="agnoster",这是比较常用的 zsh 主题之一,你可以挑选你喜欢的主题,zsh 主题列表:https://github.com/robbyrussell/oh-my-zsh/wiki/themes

4)修改字体

使用上面的主题,需要 Meslo 字体支持,要不然会出现乱码的情况,字体下载地址:我使用的是Menlo for Powerline(有的说Meslo LG M Regular for Powerline.ttf,不确定是不是同一个),下载好之后,直接在 Mac OS 中安装即可。

然后打开 iTerm2,按Command + ,键,打开 Preferences 配置界面,然后Profiles -> Text -> Font -> Chanage Font,选择Menlo for Powerline字体。

如果有用vscode的也需要设置,"terminal.integrated.fontFamily": "Menlo for Powerline",

5)隐藏用户名和主机名

有时候我们的用户名和主机名太长,终端显示的时候会很不好看,我们可以通过设置过滤掉。

编辑vim ~/.zshrc文件,增加DEFAULT_USER="用户名"配置。

六、其他功能

1)命令回放功能,有点类似视频录制。

进入回放:? + opt + b

方向键控制时间 :arrow 

退出回放:esc

技术图片

2、命令行补全功能:?+;

1)命令输入部分时执行提示补全信息

2)没有任何输入时执行,显示历史命令信息

3、自动记录日志

技术图片

?七、快捷键

技术图片


本文参考:

https://www.cnblogs.com/xjnotxj/p/10272591.html

https://www.cnblogs.com/xishuai/p/mac-iterm2.html

https://blog.csdn.net/xusensen/article/details/72785592


以上是关于Mac下的终端软件iTerm2(可代替secureCRT)的主要内容,如果未能解决你的问题,请参考以下文章

如何安装Mac 上最强大的终端 iTerm2

Mac下终端配置(item2 + oh-my-zsh + solarized配色方案)

mac 配置 iTerm2 + Oh My Zsh 打造舒适终端体验

mac终端不好用?用brew神器代替

iTerm2 + Oh My Zsh 打造舒适终端体验[mac os系统]

超级方便 - Mac OS 在访达打开终端,并在终端内定位当前的目录