Tmux 終端復用利器

2021-07-29 23:28:08 字數 3130 閱讀 9015

什麼是終端復用(terminal multiplexer)?終端復用可以讓你在同乙個終端同時開啟不同的程式並觀察輸出,同時允許你方便地退出和恢復這些程式的使用。

使用tmux可以達到終端復用的目的,下圖為tmux在同乙個終端視窗中同時開啟不同程式的乙個示例:

對於 mac os,使用簡單的brew命令即可完成tmux安裝:

brew install tmux

在tmux中,session包括乙個或者多個window,window包括乙個或者多個pane,這三者的關係如下圖所示:

舉個例子來說明這三者的關係:假設我們有乙個sysadmin的session,該session下面有乙個log的window,為了檢視不同的日誌,我們建立了三個不同的pane:access logpane,error logpane以及syslog logpane。

這個就是tmux需要掌握的三個概念了,上面的文字描述也許還有些抽象,不過不用擔心,tmux其實使用起來很簡單的,使用幾次後,上面的概念就都理解了。

使用簡單的tmux命令,可以建立乙個預設的session:

tmux

然後進入下面的介面:

底部的狀態列是tmux的乙個重要組成部分。狀態列左邊是tmux的session,window以及pane資訊,狀態列右邊則是使用者名稱和日期等資訊。tmux狀態列也是可以定製的,如何定製不在本文的描述範圍,具體可以參考網上資料。

上面我們使用tmux命令建立了乙個session,也預設建立乙個window以及window下的乙個pane。只有乙個pane還沒法達到終端復用的目的,為此我們還需要建立額外的pane。

在tmux中,所有的命令都需要乙個字首。預設地,tmux使用control + b(下面以c - b表示)來作用命令的字首。

為建立乙個pane,可以使用命令c - b %。這個命令的意思是,先按下control鍵和b鍵,鬆開後,再按下%鍵。

c - b %建立乙個水平分割的pane:

如果需要建立乙個垂直分割的pane,可以使用命令c - b "

建立不同的pane後,如果需要啟用不同的pane,可以使用命令c - b 《上下左右箭頭》,即先按下control鍵和b鍵,鬆開後,再按下箭頭按鍵,選擇不同的pane。

如果需要將當前pane全屏,可以使用命令c - b z,恢復則再操作一次c - b z,這個命令很實用。

如果需要關閉乙個pane,可以在該pane輸入exit命令。

pane的使用佔據了tmux使用的大部分,不誇張地說,掌握了pane命令的使用就基本掌握tmux的使用,從而可以應對日常工作需要了。

使用c - b c命令(按下control鍵和b鍵,鬆開後,再按下c鍵)建立乙個window:

狀態列左側出現了兩個提示符0:1:,表示兩個windows。

如果需要在不同的window進行切換,可以使用命令c - b 《數字》來選擇不同的window。

使用c - b d命令可以退出乙個session。雖然退出了某個session,但tmux仍然保持該session在後台執行,我們隨時可以重新恢復該session的使用。

為了檢視當前有哪些sessions,可以使用以下命令:

tmux ls

輸出:

0: 1 windows (created mon apr 3 10:26:09 2017) [88x21]

為了重新進入原來的session,可以使用命令:

tmux attach -t 0

-t 0的含義是讓tmux進入session0。session0是tmux預設建立的第乙個session。

如果需要對session進行重新命名,可以使用命令:

tmux rename-session -t 0 code

這時,session的名稱已發生變化:

tmux ls

code: 1 windows (created mon apr 3 10:26:09 2017) [88x21]

當然,也可以在建立時指定session的名稱:

tmux new -s db

這樣就建立乙個名為db的session。

如果需要進入db的session,可以使用命令:

tmux attach -t db

學習點滴 終端復用利器 tmux

平時在用終端連線linux機器時,常出現因為太長時間沒有操作或網路問題導致連線斷開,之前的操作和開啟的路徑丟失的現象,在知乎上看到這個介紹 新建會話 tmux new s 檢視當前所有會話 tmux ls ls即 list session 分離會話 tmux detach 就回到正常的終端連線介面了...

tmux 終端復用

不必多說 sudo apt get install tmux 在終端輸入 tmux 回車即可開啟tmux.tmux 有三個概念 session 會話 window 視窗 pane 窗格 面板 在螢幕的最下面有一行顯示tmux的狀態,最左邊是 session x y z,表示在第幾個會話,第幾個視窗,...

Tmux 終端復用

會話管理 視窗管理 窗格操作 參考ros開發過程中,經常需要開啟多個終端視窗,這就給開發帶來了很多不便。本文介紹的tmux工具可以很好的解決這個問題,tmux可以建立多個會話 session 每個會話中可以建立多個視窗 wondow 每個視窗中又可以建立多個窗格 pane 基於上述優勢,給開發帶來了...