tmux常用命令


參考鏈接:
http://www.ruanyifeng.com/blog/2019/10/tmux.html

tmux 是一個終端復用器(terminal multiplexer),非常有用,屬於常用的開發工具。

一、Tmux 是什么?

  • 1.1 會話與進程

命令行的典型使用方式是,打開一個終端窗口(terminal window,以下簡稱"窗口"),在里面輸入命令。用戶與計算機的這種臨時的交互,稱為一次"會話"(session) 。

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

一個典型的例子就是,SSH 登錄遠程計算機,打開一個遠程窗口執行命令。這時,網絡突然斷線,再次登錄的時候,是找不回上一次執行的命令的。因為上一次 SSH 會話已經終止了,里面的進程也隨之消失了。

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

  • 1.2 tmux 的作用

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

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

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

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

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

類似的終端復用器還有 GNU Screen。tmux 與它功能相似,但是更易用,也更強大。

二、基本用法

  • 2.1 安裝
    tmux 一般需要自己安裝。

CentOS 或 Fedora

sudo yum install tmux -y
  • 2.2 啟動與退出
    安裝完成后,鍵入tmux命令,就進入了 tmux 窗口。

tmux上面命令會啟動 tmux 窗口,底部有一個狀態欄。狀態欄的左側是窗口信息(編號和名稱),右側是系統信息。

按下Ctrl+d或者顯式輸入exit命令,就可以退出 tmux 窗口。

exit

  • 2.3 前綴鍵
    tmux 窗口有大量的快捷鍵。所有快捷鍵都要通過前綴鍵喚起。默認的前綴鍵是Ctrl+b,即先按下Ctrl+b,快捷鍵才會生效。

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

然后,按下 ESC 鍵或q鍵,就可以退出幫助。

三、會話管理

  • 3.1 新建會話

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

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

tmux new -s <session-name>

上面命令新建一個指定名稱的會話。

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

上面命令執行后,就會退出當前 tmux 窗口,但是會話和里面的進程仍然在后台運行。

tmux ls命令可以查看當前所有的 tmux 會話。

tmux ls
tmux list-session
  • 3.3 接入會話
    tmux attach命令用於重新接入某個已存在的會話。

使用會話編號

tmux attach -t 0

使用會話名稱

tmux attach -t <session-name>
  • 3.4 殺死會話
tmux kill-session命令用於殺死某個會話。

使用會話編號

tmux kill-session -t 0

使用會話名稱

tmux kill-session -t <session-name>
  • 3.5 切換會話
tmux switch命令用於切換會話。

使用會話編號

tmux switch -t 0

使用會話名稱

tmux switch -t <session-name>
  • 3.6 重命名會話
tmux rename-session命令用於重命名會話。
tmux rename-session -t 0 <new-name>

上面命令將0號會話重命名。

  • 3.7 會話快捷鍵
    下面是一些會話相關的快捷鍵。
Ctrl+b d:分離當前會話。
Ctrl+b s:列出所有會話。
Ctrl+b $:重命名當前會話。

四、最簡操作流程

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

新建會話tmux new -s my_session
在 tmux 窗口運行所需的程序。
按下快捷鍵Ctrl+b d將會話分離。
下次使用時,重新連接到會話tmux attach-session -t my_session

五、窗格操作

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

  • 5.1 划分窗格
tmux split-window命令用來划分窗格。

划分上下兩個窗格

tmux split-window

划分左右兩個窗格

tmux split-window -h
  • 5.2 移動光標
tmux select-pane命令用來移動光標位置。

光標切換到上方窗格

tmux select-pane -U

光標切換到下方窗格

tmux select-pane -D

光標切換到左邊窗格

tmux select-pane -L

光標切換到右邊窗格

tmux select-pane -R
  • 5.3 交換窗格位置
tmux swap-pane命令用來交換窗格位置。

當前窗格上移

tmux swap-pane -U

當前窗格下移

tmux swap-pane -D
  • 5.4 窗格快捷鍵
    下面是一些窗格操作的快捷鍵。
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:顯示窗格編號。

六、窗口管理

除了將一個窗口划分成多個窗格,tmux 也允許新建多個窗口。

  • 6.1 新建窗口
tmux new-window命令用來創建新窗口。

新建一個指定名稱的窗口

tmux new-window -n <window-name>
  • 6.2 切換窗口
tmux select-window命令用來切換窗口。

切換到指定編號的窗口

tmux select-window -t <window-number>

切換到指定名稱的窗口

tmux select-window -t <window-name>

重命名窗口

tmux rename-window命令用於為當前窗口起名(或重命名)。
tmux rename-window <new-name>
  • 6.4 窗口快捷鍵
    下面是一些窗口操作的快捷鍵。
Ctrl+b c:創建一個新窗口,狀態欄會顯示多個窗口的信息。
Ctrl+b p:切換到上一個窗口(按照狀態欄上的順序)。
Ctrl+b n:切換到下一個窗口。
Ctrl+b <number>:切換到指定編號的窗口,其中的<number>是狀態欄上的窗口編號。
Ctrl+b w:從列表中選擇窗口。
Ctrl+b ,:窗口重命名。

七、其他命令

下面是一些其他命令。

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

tmux list-keys

列出所有 tmux 命令及其參數

tmux list-commands

列出當前所有 tmux 會話的信息

tmux info

重新加載當前的 Tmux 配置

tmux source-file ~/.tmux.conf


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM