zoukankan      html  css  js  c++  java
  • Mac下的终端软件iTerm2(可代替secureCRT)

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

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

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

    一、类似crt的session保存功能

    image

    1、添加方法:

    Profiles->Open profiles->Edit profiles

    image

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

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

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

    image

    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的设置都会参考它作为默认配置。

    这里我们修改自己喜欢的配色。

    image

    7、修改历史命令显示为不限制

    image

    二、窗口操作相关

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

    tq0zjqucg5n

    • 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 自定义按钮,比如可以把常输的命令保存成按钮,方便执行

    image

    • 隐藏 / 恢复 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了。

    它的原理是~/.ssh/目录下的master-*的sock文件,记录了你目前登录到的机器,这样的话你登录同样的机器就会重用同一个链接了。但如果你第一个打开的窗口关闭了,相同链接的窗口也会一同被关闭。

    四、广播命令行

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

    image

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

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

    zvhngeucg5n

    五、与shell集成

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

    1)我这里选用zsh

    通常zsh配置起来非常麻烦,且相当的复杂,oh-my-zsh是为了简化zsh的配置而开发的,这里需要再按照oh-my-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 字体支持,要不然会出现乱码的情况。

    安装步骤:

    cd ~/Downloads && git clone https://github.com/powerline/fonts.git #将 Powerline 字体文件下载到「下载」文件夹中

    cd fonts && ./install.sh #安装所有 Powerline 字体

    cd && rm -rf ~/Downloads/fonts #删除下载的字体文件

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

    Menlo for Powerline结尾的字体。我使用的是Menlo LG S DZ for Powerline

    注:如果有用vscode的也需要设置,否则终端也会有乱码,"terminal.integrated.fontFamily": "Menlo LG S DZ for Powerline",

    5)隐藏用户名和主机名

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

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

    6)插件配置

    Oh My Zsh 支持许多强大的插件,可以实现语法高亮、命令自动补全等功能。你可以执行以下命令查看自带的插件:

    ls ~/.oh-my-zsh/plugins/

    对于自带插件的功能及使用,你可以前往 Oh My Zsh 官方 Wiki 查看。

    要启用某个插件,只需要用 vim ~/.zshrc 编辑 zsh 配置文件,定位到 plugins 一行,在括号中添加需要的插件名称,以空格分隔。保存退出后执行  source ~/.zshrc 使配置立即生效。

    六、其他

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

    进入回放:⌘ + opt + b

    方向键控制时间 :arrow 

    退出回放:esc

    image

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

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

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

    3、自动记录日志

    105182349967

    七、快捷键

    image

    八、待解决问题

    1、使用自动记log日志,生成的内容是乱码

    2、rz sz命令怎么启用

    参考:

    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

  • 相关阅读:
    使用powerdesigner导入sql脚本,生成物理模型
    深入理解[代理模式]原理与技术
    8、Dockerfile介绍和最佳实践
    7、Docker监控方案(cAdvisor+InfluxDB+Grafana)
    6、Docker图形化管理(Portainer)
    5、Docker网络配置(单机)
    4、Docker数据管理
    html二
    html
    IO多路复用,协程,
  • 原文地址:https://www.cnblogs.com/realjimmy/p/13151664.html
Copyright © 2011-2022 走看看