CentOS7下使用tmux終端神器

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):

http://mingxinglai.com/cn/2012/09/tmux/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容