Tmux
介紹
tmux是一個優(yōu)秀的終端復(fù)用軟件,即使非正常掉線,也能保證當(dāng)前的任務(wù)運行,這一點對于 遠程SSH訪問特別有用,網(wǎng)絡(luò)不好的情況下仍然能保證工作現(xiàn)場不丟失!此外,tmux完全使用鍵盤 控制窗口,實現(xiàn)窗口的切換功能。
簡單地說,tmux對于我主要有兩個功能(這應(yīng)該也是tmux的主要功能):
split窗口??梢栽谝粋€terminal下打開多個終端,也可以對當(dāng)前屏幕進行各種split,即可以 同時打開多個顯示范圍更小的終端。
在使用SSH的環(huán)境下,避免網(wǎng)絡(luò)不穩(wěn)定,導(dǎo)致工作現(xiàn)場的丟失。想象以下場景, 你在執(zhí)行一條命令的過程中,由于網(wǎng)絡(luò)不穩(wěn)定,SSH連接斷開了。這個時候,你就不知道之前 的那條命令是否執(zhí)行成功。如果此時你打開了很多文件,進入了較深層次的目錄,由于網(wǎng)絡(luò) 不穩(wěn)定,SSH連接斷開。重新連接以后,你又不得不重新打開那些文件,進入那個深層次的 目錄。如果使用了tmux,重新連接以后,就可以直接回到原來的工作環(huán)境,不但提高了工作 效率,還降低了風(fēng)險,增加了安全性。
安裝
yum install tmux
安裝完成后輸入命令tmux即可打開軟件,界面十分簡單,類似一個下方帶有狀態(tài)欄的終端控制臺; 不出意外,這時候你會跟我第一次一樣,覺得tmux沒什么牛逼的。
主要功能會話,窗口,面板
根據(jù)tmux的定義,在開啟了tmux服務(wù)器后,會首先創(chuàng)建一個會話,而這個會話則會首先創(chuàng)建一個 窗口,其中僅包含一個面板;也就是說,這里看到的所謂終端控制臺應(yīng)該稱作tmux的一個面板, 雖然其使用方法與終端控制臺完全相同。
tmux使用C/S模型構(gòu)建,主要包括以下單元模塊:
- server服務(wù)器。輸入tmux命令時就開啟了一個服務(wù)器。
- session會話。一個服務(wù)器可以包含多個會話
- window窗口。一個會話可以包含多個窗口。
- pane面板。一個窗口可以包含多個面板。
會話
- C-x s # 以菜單的方式查看并選擇會話
- C-x :new-session # 新建一個會話
- C-x d # 退出并保存會話
- 終端運行 tmux attach # 返回會話
- tmux new -s session
- tmux new -s session -d # 在后臺建立會話
- tmux ls # 列出會話
- tmux attach -t session # 進入某個會話
常用按鍵
這里需要說明一點的是,tmux的任何指令,都包含一個前綴,也就是說,你按了前綴(一組按鍵, 默認是Ctrl+b)以后,系統(tǒng)才知道你接下來的指令是發(fā)送給tmux的。
- C-b ? 顯示快捷鍵幫助
- C-b C-o 調(diào)換窗口位置,類似與vim 里的C-w
- C-b 空格鍵 采用下一個內(nèi)置布局
- C-b ! 把當(dāng)前窗口變?yōu)樾麓翱?/li>
- C-b “ 橫向分隔窗口
- C-b % 縱向分隔窗口
- C-b q 顯示分隔窗口的編號
- C-b o 跳到下一個分隔窗口
- C-b 上下鍵 上一個及下一個分隔窗口
- C-b C-方向鍵 調(diào)整分隔窗口大小
- C-b c 創(chuàng)建新窗口
- C-b 0~9 選擇幾號窗口
- C-b c 創(chuàng)建新窗口
- C-b n 選擇下一個窗口
- C-b l 切換到最后使用的窗口
- C-b p 選擇前一個窗口
- C-b w 以菜單方式顯示及選擇窗口
- C-b t 顯示時鐘
- C-b ; 切換到最后一個使用的面板
- C-b x 關(guān)閉面板
- C-b & 關(guān)閉窗口
- C-b s 以菜單方式顯示和選擇會話
- C-b d 退出tumx,并保存當(dāng)前會話,這時,tmux仍在后臺運行,可以通過tmux attach進入 到指定的會話
配置
我們先來看一下幾個配置,這些配置才是我離不開tmux的原因:-)。tmux的配置文件是 ~/.tmux.conf,這個文件可能不存在,你可以自己新建。下面開始配置,首先,有沒有 覺得tmux的前綴按起來太不方便了,ctrl與b鍵隔得太遠,很多人把它映射成C+a,也就 是在配置文件(~/.tmux.conf)中加入下面這條語句:
set -g prefix C-a # 設(shè)置前綴為Ctrl + a
與此同時,取消默認的前綴按鍵
unbind C-b # 解除Ctrl+b 與前綴的對應(yīng)關(guān)系
配置完以后,重啟tmux起效,或者先按C+b,然后輸入:,進入命令行模式, 在命令行模式下輸入:
source-file ~/.tmux.conf
你也可以跟我一樣,在配置文件中加入下面這句話,以后改了只需要按前綴+r了。
bind r source-file ~/.tmux.conf ; display "Reloaded!"
將r 設(shè)置為加載配置文件,并顯示"reloaded!"信息
非常感謝來自下面的指導(dǎo):