今天無心間從同事那裏知道有 tmux 這種神器,tmux(terminal multiplexer)是Linux上的終端複用神器,可從一個屏幕上管理多個終端(準確說是僞終端)。使用該工具,用戶能夠鏈接或斷開會話,而保持終端在後臺運行。相似的工具還有screen,今天只介紹tmux相關操做。html
tmux的結構包括會話(session)、窗口(window)、窗格(pane)三部分,會話實質是僞終端的集合,每一個窗格表示一個僞終端,多個窗格展示在一個屏幕上,這一屏幕就叫窗口。git
session(會話):一個服務器能夠包含多個會話。github
window(窗口):一個會話能夠包含多個窗口。shell
pane(窗格):一個窗口能夠包含多個面板[強悍的分屏]。vim
一、CenOs下安裝tmux服務器
方式一(yum安裝):session
yum install tmux -y
方式二(源碼安裝):工具
源碼方式安裝有依賴,須要先安裝libevent,且版本在2.0以上
spa
# 安裝libevent wget https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz tar xzvf libevent-2.0.22-stable.tar.gz cd libevent-2.0.22-stable ./configure make && make install
# tmux安裝 git clone https://github.com/tmux/tmux.git cd tmux/ sh autogen.sh ./configure make && make install
二、源碼安裝可能出現的問題code
(1)問題一:
期間可能會遇到執行autogen.sh 報錯,緣由是沒有安裝automake。這個直接yum install automake
就簡單解決了。
(2)問題二:
執行的時候遇到以下報錯:
libevent-2.0.so.5: cannot open shared object file: No such file or directory
解決方法:
ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.5 # 32位系統 ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5 # 64位系統
基本的操做無非就是對會話、窗口、窗格進行管理,包括建立、關閉、重命名、鏈接、分離、選擇等等。
通常使用命令和快捷鍵進行操做,可在系統shell終端和tmux命令模式(相似vim的命令模式)下使用命令,或者在tmux終端使用快捷鍵。
tmux默認的快捷鍵前綴是Ctrl+b(下文用prefix指代),按下前綴組合鍵後鬆開,再按下命令鍵進行快捷操做,好比使用prefix d分離會話(應該寫做prefix d而不是prefix+d,由於d鍵不須要與prefix同時按下)。
一、會話管理
經常使用命令 tmux new 建立默認名稱的會話(在tmux命令模式使用new命令可實現一樣的功能,其餘命令同理,後文再也不列出tmux終端命令) tmux new -s mysession 建立名爲mysession的會話 tmux new -s mysession -d 在後臺創建名爲mysession的會話 tmux ls 顯示會話列表 tmux a 鏈接上一個會話 tmux a -t mysession 鏈接名爲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 關閉全部會話
經常使用快捷鍵
prefix s 列出會話,可進行切換
prefix $ 重命名會話
prefix d 斷開當前會話
prefix D 選擇要脫離的會話,同時開啓多個會話時使用
prefix t 顯示當前時間,按 q/Esc 退出
prefix [ 複製模式,光標移動到複製內容位置,空格鍵開始,方向鍵選擇複製,回車確認,按 q/Esc 退出
prefix ] 粘貼以前複製的內容,按 q/Esc 退出
二、窗口管理
prefix c 建立一個新窗口 prefix , 重命名當前窗口 prefix w 列出全部窗口,可進行切換 prefix n 進入下一個窗口 prefix p 進入上一個窗口 prefix l 進入以前操做的窗口 prefix 0~9 選擇編號0~9對應的窗口 prefix . 修改當前窗口索引編號 prefix ' 切換至指定編號(可大於9)的窗口 prefix f 根據顯示的內容搜索窗格 prefix & 關閉當前窗口
三、窗格管理
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 顯示當前窗格信息
四、其餘命令
tmux list-key 列出全部綁定的鍵,等同於prefix ?
tmux list-command 列出全部命令
https://blog.51cto.com/svsky/1929509