為什么要用tmux
tmux是什么?tmux是linux中一種管理窗口的程序。那么問題來了:Mac自帶的Iterm2很好用啊。既支持多標(biāo)簽,也支持窗體內(nèi)部Panel的分割,為什么還要用tmux?其實(shí),多標(biāo)簽和分割窗體只是tmux的部分功能。用tmux的主要原因是它提供了一個(gè)窗體組隨時(shí)存儲(chǔ)和恢復(fù)的功能。看看以下的使用場景是否適合你:
公司臺(tái)式機(jī)開了一堆vim和log打印窗口下班了。到家后靈感突發(fā),想要繼續(xù)coding,登陸VPN,SSH連上臺(tái)式后發(fā)現(xiàn)又要重新打開各種窗口,瞬間沒心情了。。。FML!這個(gè)時(shí)候你就可以在你的公司臺(tái)式機(jī)上裝個(gè)tmux。同一組工作環(huán)境,在多處共享。
公司服務(wù)器上調(diào)試程序,開了一堆窗口。出去吃了個(gè)飯,發(fā)現(xiàn)SSH超時(shí)了,broken pipe。重頭開始。。。FML!如果你之前使用了tmux就不會(huì)有這樣的問題,attach就能找回原來打開的那些窗口。
tmux的基本概念
我們先來理解下tmux的幾個(gè)元素。tmux的主要元素分為三層:
Session 一組窗口的集合,通常用來概括同一個(gè)任務(wù)。session可以有自己的名字便于任務(wù)之間的切換。
Window 單個(gè)可見窗口。Windows有自己的編號(hào),也可以認(rèn)為和ITerm2中的Tab類似。
Pane 窗格,被劃分成小塊的窗口,類似于Vim中 C-w +v 后的效果。
為了更好的理解,下面是三個(gè)元素在tmux中的具體展現(xiàn)。
可以看到Session總在tmux的左下角顯示,通常會(huì)為他命名。例如我正在寫博客,開了很多窗口那么我就會(huì)把這組窗口命名為blog方便之后的重連和切換。而Window也會(huì)在最下方以一種Tab的形式展現(xiàn)。每個(gè)window都有自己的需要,也會(huì)以當(dāng)前活動(dòng)進(jìn)程的名字命名。而Pane就比較好理解,即把單個(gè)窗口分割成若干個(gè)小塊后的元素。
CentOS下安裝
首先我是用yum install tmux嘗試安裝的。估計(jì)沒有源,沒有找到tmux。所以習(xí)慣性直接找源代碼安裝。
但是其中有依賴,需要先安裝libevent。
問題1:
期間我遇到了執(zhí)行autogen.sh 報(bào)錯(cuò),原因是我沒有安裝automake。這個(gè)直接yum install automake就簡單解決了。
問題2:
執(zhí)行的時(shí)候遇到
libevent-2.0.so.5: cannot open shared object file: No such file or directory
的報(bào)錯(cuò),解決辦法也比較簡單,既然找不到,那就換個(gè)找得到的地方唄。
直接在命令行輸入tmux即可進(jìn)入tmux的模式。
tmux主要有windows窗體操作和Pane操作,個(gè)人覺得windows對于我來說,意義不大(并不是說windows模式?jīng)]適用場景),所以這里主要講下Pane的相關(guān)操作。
快捷鍵
tmux的快捷鍵都要先按C-b(Ctrl-b)。然后再按下面表格內(nèi)容,才能達(dá)到相應(yīng)的效果。
session和其他相關(guān)快捷鍵
快捷鍵 | 功能 |
---|---|
C-z | 關(guān)閉tmux. |
: | 進(jìn)入tmux命令行模式. |
? | 列出所有快捷鍵. |
t | 顯示時(shí)間. |
d | 退出當(dāng)前tmux客戶端,tmux后臺(tái)運(yùn)行. |
$ | 重命名當(dāng)前session. |
s | 切換session 顯示所有session并切換到某一個(gè)session. |
( | 切換session 切換到上一個(gè)session. |
) | 切換session 切換到下一個(gè)session. |
L | 切換session 到前一個(gè)活躍的session. |
window相關(guān)快捷鍵
快捷鍵 | 功能 |
---|---|
c | 新增一個(gè)window. |
& | 退出當(dāng)前window. |
, | 重命名當(dāng)前window. |
l | 跳轉(zhuǎn)到上一個(gè)所在window. |
i | 顯示當(dāng)前window的信息. |
w | 切換window 顯示所有window并切換window. |
0 to 9 | 切換window 到相應(yīng)編號(hào)的window. |
p | 切換window 上一個(gè)window. |
n | 切換window 下一個(gè)window. |
’ | 切換window 到輸入編號(hào)的window. |
f | 切換window 到搜索到的window. |
Space | 改變當(dāng)前window下的pane布局. |
快捷鍵 | 功能 |
---|---|
! | 從window移除當(dāng)前pane. |
" | 將當(dāng)前pane變成上下兩個(gè)pane. |
% | 將當(dāng)前pane變成左右兩個(gè)pane. |
x | 關(guān)閉當(dāng)前pane. |
q | 顯示pane的索引. |
z | 最大化或者恢復(fù)當(dāng)前pane. |
{ | 跟前一個(gè)pane交換位置. |
} | 跟后一個(gè)pane交換位置. |
o | 切換Pane 到下一個(gè)pane. |
; | 切換Pane 進(jìn)入到前一個(gè)操作過的pane. |
Up, Down Left, Right | 切換Pane 使用方向鍵切換到相應(yīng)方向的pane. |
可能有些快捷鍵有些出入,可以的話提醒下。另外有些快捷鍵沒有搞懂,而且快捷鍵比較多,個(gè)人覺得記得主要的幾個(gè)切換快捷鍵就足夠用來。比較tmux只是一個(gè)協(xié)助工具,沒有必要在其上面那么用心。加粗的是個(gè)人覺得比較實(shí)用的。
tmux不中斷session的模式確實(shí)很666666,每次連回去就可以快速接上上次結(jié)束的環(huán)境。而且多個(gè)pane也非常適合要開啟并監(jiān)控多個(gè)服務(wù)的情況。
|
新聞熱點(diǎn)
疑難解答
圖片精選