背景
我們先來了解下tmux是什麼呢?tmux(terminal multiplexer)是Linux系統中的終端分屏神器。我們都知道日常運維工作中,用的服務器系統都是linux的,而服務器的系統可不會安裝圖形界面,都是用命令行來操作的。那麼想新建個窗口終端,在同一個窗口劃分成多個終端就比較麻煩了。tmux就可在一個屏幕上分成多個終端(準確說是偽終端)。該工具可以連接或斷開會話並保持終端在後臺運行。類似screen,個人比較兩者的使用感受後,強烈建議用tmux,再也不想用screen了。那說了這麼多,它是什麼樣的,有多麼神呢,請看下面詳解。
Tmux詳解
基本結構
基本結構包括會話(session)、窗口(window)、窗格(pane)三部分,會話實質是偽終端的集合,每個窗格表示一個偽終端,多個窗格展現在一個屏幕上,這一屏幕就叫窗口。基本結構及狀態信息如下圖所示:
基本操作
基本的操作包括:對會話、窗口、窗格進行管理,包括創建、關閉、重命名、連接、分離、選擇等等。
操作需要分兩種:可在系統的shell終端或tmux命令模式用命令操作也可在tmux終端使用快捷鍵使用。
tmux默認的快捷鍵前綴是:Ctrl+b(下文用prefix指代)。用法:首先按下前綴組合鍵後鬆開,再根據需求按下命令鍵進行快捷操作即可。
快捷鍵可自定義。
比如想要將前綴改為Ctrl+a,但需要保留shell默認的Ctrl+a快捷鍵,只需配置~/.tmux.conf文件如下即可:
<code>set-option -g prefix C-a
unbind-key C-b
bind-key C-a send-prefix
bind-key R source-file ~/.tmux.conf \\; display-message "~/.tmux.conf reloaded."/<code>
現在已將原先的Ctrl+a用prefix Ctrl+a 取代,即需要按兩次Ctrl+a才可效。
配置詳解:配置中前三行都好理解。第四行的作用是用prefix r來重新新加載配置文件,並輸出提示,否則需要關閉會話後配置文件才能生效。當然也可手動加載配置文件,方法是在tmux終端輸入”prefix :”進入命令模式,用source-file命令加載配置文件,不過不是那麼方便罷了。
會話管理
常用命令
<code>tmux new #創建默認名稱的會話(在tmux命令模式使用new命令可實現同樣的功能,其他命令同理,後文不再列出tmux終端命令)
tmux new -s sun #創建名為sun的會話
tmux ls #顯示會話列表
tmux a #連接上一個會話
tmux a -t mysession #連接指定會話
tmux rename -t s1 s2 #重命名會話s1為s2
tmux kill-session #關閉上次打開的會話
tmux kill-session -t s1 #關閉會話s1
tmux kill-session -a -t s1 #關閉除s1外的所有會話
tmux kill-server #關閉所有會話/<code>
常用快捷鍵
<code>prefix s #列出會話,可進行切換
prefix $ #重命名會話
prefix d #分離當前會話
prefixD #分離指定會話/<code>
窗口管理
<code>prefix c 創建一個新窗口
prefix , 重命名當前窗口
prefix w 列出所有窗口,可進行切換
prefix n 進入下一個窗口
prefix p 進入上一個窗口
prefix l 進入之前操作的窗口
prefix 0~9 選擇編號0~9對應的窗口
prefix . 修改當前窗口索引編號
prefix ‘ 切換至指定編號(可大於9)的窗口
prefix f 根據顯示的內容搜索窗格
prefix & 關閉當前窗口/<code>
窗格管理
<code>prefix % #水平方向創建窗格
prefix “ #垂直方向創建窗格
prefix Up|Down|Left|Right #根據箭頭方向切換窗格
prefix q #顯示窗格編號
prefix o #順時針切換窗格
prefix } #與下一個窗格交換位置
prefix { #與上一個窗格交換位置
prefix x #關閉當前窗格
prefix space(空格鍵) #重新排列當前窗口下的所有窗格
prefix ! #將當前窗格置於新窗口
prefix Ctrl+o #逆時針旋轉當前窗口的窗格
prefix t #在當前窗格顯示時間
prefix z #放大當前窗格(再次按下將還原)
prefix i #顯示當前窗格信息/<code>
其他命令
<code>tmux list-key #列出所有綁定的鍵,等同於prefix ?
tmux list-command #列出所有命令/<code>
上面為tmux的常見操作,基本可以滿足工作需求。如有疑問請關注留言評論。
關注科技細品,想要領略科技魅力,需要你品你細品。
閱讀更多 科技細品 的文章