Tmux使用介紹
Tmux是一個終端複用器(terminal multiplexer)。如果您有使用screen的經歷的話,您可以理解為Tmux是screen的不同實現軟體。本教程將講解Tmux的基礎用法。
會話與程序
命令列的典型用法是開啟終端(terminal)後,在裡面輸入指令。使用者的這種與計算機互動的手段,稱為會話(session)。
在會話中,透過命令列啟動的所有程序均與會話程序繫結。當會話程序終止時,該會話啟動的所有程序也會隨之強行結束。
一點最常見的例子就是透過SSH連線到遠端計算機。當SSH連線因為網路等原因斷開時,那麼SSH會話就被終止,這次會話啟動的任務也會被強制結束。
為了解決這個問題,一種手段就是使用者終端視窗與會話“解綁”。即關閉使用者端視窗,仍然維持該會話,進而保證使用者程序不變。
Tmux的作用
Tmux就是這樣一款會話與視窗的“解綁”工具。
(1)它允許在單個視窗中,同時訪問多個會話。這對於同時執行多個命令列程式很有用。
(2)它可以讓新視窗"接入"已經存在的會話。
(3)它允許每個會話有多個連線視窗,因此可以多人實時共享會話。
(4)它還支援視窗任意的垂直和水平拆分
基本用法
安裝
叢集中已經預設安裝了Tmux,無須操作。如果您需要在自己的伺服器上安裝Tmux,請參考以下指令:
# Ubuntu 或 Debian
$ sudo apt-get install tmux
# CentOS 或 Fedora
$ sudo yum install tmux
# Mac
$ brew install tmux
啟動與退出
直接在終端中鍵入tmux
指令,即可進入Tmux視窗。
$ tmux
上面命令會啟動 Tmux 視窗,底部有一個狀態列。狀態列的左側是視窗資訊(編號和名稱),右側是系統資訊。
按下Ctrl+d
或者顯式輸入exit
命令,就可以退出 Tmux 視窗。
$ exit
快捷鍵
Tmux有大量的快捷鍵。所有的快捷鍵都要使用Ctrl+b
作為字首喚醒。我們將會在後續章節中講解快捷鍵的具體使用。
會話管理
新建會話
第一個啟動的會話名為0
,之後是1
、2
一次類推。
但是有時候我們希望為會話起名以方便區分。
$ tmux new -s SESSION_NAME
以上指令啟動了一個名為SESSION_NAME
的會話。
分離會話
如果我們想離開會話,但又不想關閉會話,有兩種方式。按下Ctrl+b d
或者tmux detach
指令,將會分離會話與視窗
$ tmux detach
後面一種方法要求當前會話無正在執行的程序,即保證終端可操作。我們更推薦使用前者。
檢視會話
要檢視當前已有會話,使用tmux ls
指令。
$ tmux ls
接入會話
tmux attach
命令用於重新接入某個已存在的會話。
# 使用會話編號
$ tmux attach -t 0
# 使用會話名稱
$ tmux attach -t SESSION_NAME
殺死會話
tmux kill-session
命令用於殺死某個會話。
# 使用會話編號
$ tmux kill-session -t 0
# 使用會話名稱
$ tmux kill-session -t SESSION_NAME
切換會話
tmux switch
命令用於切換會話。
# 使用會話編號
$ tmux switch -t 0
# 使用會話名稱
$ tmux switch -t SESSION_NAME
Ctrl+b s
可以快捷地檢視並切換會話
重新命名會話
tmux rename-session
命令用於重新命名會話。
# 將0號會話重新命名為SESSION_NAME
$ tmux rename-session -t 0 SESSION_NAME
對應快捷鍵為Ctrl+b $
。
窗格(window)操作
Tmux可以將視窗分成多個窗格(window),每個窗格執行不同的命令。以下命令都是在Tmux視窗中執行。
劃分窗格
tmux split-window
命令用來劃分窗格。
# 劃分上下兩個窗格
$ tmux split-window
# 劃分左右兩個窗格
$ tmux split-window -h
對應快捷鍵為Ctrl+b "
和Ctrl+b %
移動游標
tmux select-pane
命令用來移動游標位置。
# 游標切換到上方窗格
$ tmux select-pane -U
# 游標切換到下方窗格
$ tmux select-pane -D
# 游標切換到左邊窗格
$ tmux select-pane -L
# 游標切換到右邊窗格
$ tmux select-pane -R
對應快捷鍵為Ctrl+b ↑
、Ctrl+b ↓
、Ctrl+b ←
、Ctrl+b →
。
窗格快捷鍵
$ Ctrl+b %:劃分左右兩個窗格。
$ Ctrl+b ":劃分上下兩個窗格。
$ Ctrl+b <arrow key>:游標切換到其他窗格。<arrow key>是指向要切換到的窗格的方向鍵,比如切換到下方窗格,就按方向鍵↓。
$ Ctrl+b ;:游標切換到上一個窗格。
$ Ctrl+b o:游標切換到下一個窗格。
$ Ctrl+b {:當前窗格左移。
$ Ctrl+b }:當前窗格右移。
$ Ctrl+b Ctrl+o:當前窗格上移。
$ Ctrl+b Alt+o:當前窗格下移。
$ Ctrl+b x:關閉當前窗格。
$ Ctrl+b !:將當前窗格拆分為一個獨立視窗。
$ Ctrl+b z:當前窗格全屏顯示,再使用一次會變回原來大小。
$ Ctrl+b Ctrl+<arrow key>:按箭頭方向調整窗格大小。
$ Ctrl+b q:顯示窗格編號。
原文地址