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\n";exp_continue}
        "password:"
        {send "[lindex $argv 3]\n"}
}
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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM