這麼好用的神器怎麼可以不知道呢,帶你細品Tmux這個工具神器

背景

我們先來了解下tmux是什麼呢?tmux(terminal multiplexer)是Linux系統中的終端分屏神器。我們都知道日常運維工作中,用的服務器系統都是linux的,而服務器的系統可不會安裝圖形界面,都是用命令行來操作的。那麼想新建個窗口終端,在同一個窗口劃分成多個終端就比較麻煩了。tmux就可在一個屏幕上分成多個終端(準確說是偽終端)。該工具可以連接或斷開會話並保持終端在後臺運行。類似screen,個人比較兩者的使用感受後,強烈建議用tmux,再也不想用screen了。那說了這麼多,它是什麼樣的,有多麼神呢,請看下面詳解。

這麼好用的神器怎麼可以不知道呢,帶你細品Tmux這個工具神器

tmux

Tmux詳解

基本結構

基本結構包括會話(session)、窗口(window)、窗格(pane)三部分,會話實質是偽終端的集合,每個窗格表示一個偽終端,多個窗格展現在一個屏幕上,這一屏幕就叫窗口。基本結構及狀態信息如下圖所示:


這麼好用的神器怎麼可以不知道呢,帶你細品Tmux這個工具神器

tmux結構

基本操作

基本的操作包括:對會話、窗口、窗格進行管理,包括創建、關閉、重命名、連接、分離、選擇等等。

操作需要分兩種:可在系統的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+aprefix 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的常見操作,基本可以滿足工作需求。如有疑問請關注留言評論。

關注科技細品,想要領略科技魅力,需要你品你細品。


分享到:


相關文章: