功能說明: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\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的設置都會參考它作為默認配置。
這里我們修改自己喜歡的配色。
7、修改歷史命令顯示為不限制
二、窗口操作相關
- 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了。
它的原理是~/.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 字體支持,要不然會出現亂碼的情況。
安裝步驟:
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
2、命令行補全功能:⌘+;
1)命令輸入部分時執行提示補全信息
2)沒有任何輸入時執行,顯示歷史命令信息
3、自動記錄日志
七、快捷鍵
八、待解決問題
1、使用自動記log日志,生成的內容是亂碼
2、rz sz命令怎么啟用
參考:
https://www.cnblogs.com/xjnotxj/p/10272591.html