tmux:終端複用神器

1、簡介與安裝

  今天無心間從同事那裏知道有 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位系統

2、基本操做

  基本的操做無非就是對會話、窗口、窗格進行管理,包括建立、關閉、重命名、鏈接、分離、選擇等等。

  通常使用命令和快捷鍵進行操做,可在系統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  列出全部命令

3、參考資料

  https://blog.51cto.com/svsky/1929509

  http://www.javashuo.com/article/p-fsxozgbu-dq.html

  https://www.cnblogs.com/reboot51/p/9485911.html

相關文章
相關標籤/搜索