Tmux 使用教程

2021-10-20 18:22:11 字數 4700 閱讀 8985

命令列的典型使用方式是,開啟乙個終端視窗(terminal window,以下簡稱"視窗"),在裡面輸入命令。使用者與計算機的這種臨時的互動,稱為一次"會話"(session)

會話的乙個重要特點是,視窗與其中啟動的程序是連在一起的。開啟視窗,會話開始;關閉視窗,會話結束,會話內部的程序也會隨之終止,不管有沒有執行完。

乙個典型的例子就是,ssh 登入遠端計算機,開啟乙個遠端視窗執行命令。這時,網路突然斷線,再次登入的時候,是找不回上一次執行的命令的。因為上一次 ssh 會話已經終止了,裡面的程序也隨之消失了。

為了解決這個問題,會話與視窗可以"解綁":視窗關閉時,會話並不終止,而是繼續執行,等到以後需要的時候,再讓會話"繫結"其他視窗。

tmux 就是會話與視窗的"解綁"工具,將它們徹底分離。

(1)它允許在單個視窗中,同時訪問多個會話。這對於同時執行多個命令列程式很有用。

(2) 它可以讓新視窗"接入"已經存在的會話。

(3)它允許每個會話有多個連線視窗,因此可以多人實時共享會話。

(4)它還支援視窗任意的垂直和水平拆分。

類似的終端復用器還有 gnu screen。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,即先按下ctrl+b,快捷鍵才會生效。

舉例來說,幫助命令的快捷鍵是ctrl+b ?。它的用法是,在 tmux 視窗中,先按下ctrl+b,再按下?,就會顯示幫助資訊。

然後,按下 esc 鍵或q鍵,就可以退出幫助。

第乙個啟動的 tmux 視窗,編號是0,第二個視窗的編號是1,以此類推。這些視窗對應的會話,就是 0 號會話、1 號會話。

使用編號區分會話,不太直觀,更好的方法是為會話起名。

$ tmux new -s
上面命令新建乙個指定名稱的會話。

在 tmux 視窗中,按下ctrl+b d或者輸入tmux detach命令,就會將當前會話與視窗分離。

$ tmux detach
上面命令執行後,就會退出當前 tmux 視窗,但是會話和裡面的程序仍然在後台執行。

tmux ls命令可以檢視當前所有的 tmux 會話。

$ tmux ls

# or

$ tmux list-session

tmux attach命令用於重新接入某個已存在的會話。

# 使用會話編號

$ tmux attach -t 0

# 使用會話名稱

$ tmux attach -t

tmux kill-session命令用於殺死某個會話。

# 使用會話編號

$ tmux kill-session -t 0

# 使用會話名稱

$ tmux kill-session -t

tmux switch命令用於切換會話。

# 使用會話編號

$ tmux switch -t 0

# 使用會話名稱

$ tmux switch -t

tmux rename-session命令用於重新命名會話。

$ tmux rename-session -t 0
上面命令將0號會話重新命名。

下面是一些會話相關的快捷鍵。

綜上所述,以下是 tmux 的最簡操作流程。

新建會話tmux new -s my_session

在 tmux 視窗執行所需的程式。

按下快捷鍵ctrl+b d將會話分離。

下次使用時,重新連線到會話tmux attach-session -t my_session

tmux 可以將視窗分成多個窗格(pane),每個窗格執行不同的命令。以下命令都是在 tmux 視窗中執行。

tmux split-window命令用來劃分窗格。

# 劃分上下兩個窗格

$ tmux split-window

# 劃分左右兩個窗格

tmux select-pane命令用來移動游標位置。

# 游標切換到上方窗格

$ tmux select-pane -u

# 游標切換到下方窗格

$ tmux select-pane -d

# 游標切換到左邊窗格

$ tmux select-pane -l

# 游標切換到右邊窗格

$ tmux select-pane -r

tmux swap-pane命令用來交換窗格位置。

# 當前窗格上移

$ tmux swap-pane -u

# 當前窗格下移

$ tmux swap-pane -d

下面是一些窗格操作的快捷鍵。

除了將乙個視窗劃分成多個窗格,tmux 也允許新建多個視窗。

tmux new-window命令用來建立新視窗。

$ tmux new-window

# 新建乙個指定名稱的視窗

$ tmux new-window -n

tmux select-window命令用來切換視窗。

# 切換到指定編號的視窗

$ tmux select-window -t # 切換到指定名稱的視窗

$ tmux select-window -t

tmux rename-window命令用於為當前視窗起名(或重新命名)。

$ tmux rename-window
下面是一些視窗操作的快捷鍵。

下面是一些其他命令。

# 列出所有快捷鍵,及其對應的 tmux 命令

$ tmux list-keys

# 列出所有 tmux 命令及其引數

$ tmux list-commands

# 列出當前所有 tmux 會話的資訊

$ tmux info

$ tmux source-file ~/.tmux.conf

tmux使用教程

1,三個概念session,window,panel 2,session的操作 建立並指定session名字 tmux new s session name 臨時退出session ctrl b d 列出session tmux ls 進入已存在的session tmux a t session n...

tmux使用教程

brew install tmux在開啟了tmux服務後,會首先建立乙個會話,而這個會話則會首先先建立乙個視窗,其中僅包含乙個面板 也就是說,這裡看到的所謂終端控制台應該稱作tmux的乙個面板,雖然其使用方法與終端控制台完全相同 tmux使用c s模型構建,主要包括以下單元模組 server伺服器。...

Linux之Tmux使用教程

tmux中有3種概念,會話,視窗 window 窗格 pane 會話有點像是tmux的服務,在後端執行,我們可以通過tmux命令建立這種服務,並且可以通過tmux命令檢視,附加到後端執行的會話中。乙個會話可以包含多個視窗,乙個視窗可以被分割成多個窗格 pane tmux的安裝方法很簡單,可直接通過a...