【Tool】tmux
📦 tmux 簡易說明
tmux(Terminal Multiplexer)是一個強大的終端複用工具,可以在單一終端視窗中同時管理多個工作階段(sessions)、視窗(windows)、與窗格(panes)。
🚀 tmux 的核心概念
-
Session(工作階段):
- 一個 tmux session 可以包含多個視窗,像是一個獨立的工作空間。
- 支援在背景運行,即使關閉終端也不會中斷。
-
Window(視窗):
- 每個 session 裡可以有多個視窗,每個視窗類似一個完整的終端畫面。
- 視窗可分割成多個窗格,方便同時監控多個任務。
-
Pane(窗格):
- 視窗內的分割區域,每個窗格可獨立執行命令。
- 支援水平與垂直分割,方便進行多任務操作。
⌨️ 常用指令快速上手
| 功能 | 指令 / 快捷鍵 | 說明 |
|---|---|---|
| 啟動 tmux | tmux |
開啟一個新的 tmux session |
tmux new -s 名稱
開啟一個新的 tmux session 使用自訂名稱
查看所有 session
tmux ls
列出目前所有 tmux session
切換 session
Ctrl-b s
圖形化切換session
(如果該session 內有多視窗,可按 -> 選擇換到該視窗)
離開 tmux(保持運行)Ctrl-b d
分離 session,回到原本終端
離開 tmux(結束此session)
Ctrl-b x
結束目前session,回到原本終端
重新連接 session
tmux attach -t 名稱
重新連接到未結束的 session
刪除 session
tmux kill-session -t 名稱
tmux kill-server
Ctrl-b $
當前session 改名
tmux rename-session -t 舊名稱 新名稱
分割窗格(垂直)
Ctrl-b "
垂直分割出新窗格
分割窗格(水平)
Ctrl-b %
水平分割出新窗格
切換窗格
Ctrl-b 方向鍵
在窗格間切換
建立新視窗
Ctrl-b c
建立一個新的視窗
切換視窗
Ctrl-b n / p
切換到下一個/上一個視窗
關閉窗格
Ctrl-b x
關閉當前窗格
Ctrl-b d
tmux attach
tmux ls
Ctrl-b :
進入命令模式,可執行 tmux 指令
🎯 常見使用情境
- 遠端連線不中斷: 即使 SSH 斷線,tmux session 仍會在伺服器上持續運行。
- 多任務同時進行: 在一個終端視窗內同時監控多個任務、Log 或服務狀態。
- 自動化腳本執行: 方便長時間執行的任務或背景作業管理。
常見問題
已在某session 內要新建session
或是要切換到另一個session
這代表 你已經在一個 tmux session 裡,然後又試圖附加(attach)到另一個 session。tmux 預設不建議這種「嵌套 session」的行為,因為可能會導致控制鍵衝突或混亂。
建議方式:
建立session:離開tmux 模式Ctrl-b d,在建立新的session : tmux or tmux new -s 名稱
切換session: Ctrl-b s 切換
以下是翻譯後的以下是 tmux 快速鍵表格:
| 快速鍵 | 功能說明 |
|---|---|
| C-b Space | 選擇下一個佈局 |
| C-b ! | 將窗格分離到新視窗 |
| C-b " | 垂直分割視窗 |
| C-b # | 列出所有剪貼簿 |
| C-b $ | 重新命名當前工作階段 |
| C-b % | 水平分割視窗 |
| C-b & | 關閉當前視窗 |
| C-b ' | 輸入視窗索引以切換 |
| C-b ( | 切換到上一個客戶端 |
| C-b ) | 切換到下一個客戶端 |
| C-b , | 重新命名當前視窗 |
| C-b - | 刪除最近的剪貼簿 |
| C-b . | 移動當前視窗 |
| C-b / | 顯示按鍵綁定說明 |
| C-b 0~9 | 選擇對應編號的視窗 |
| C-b : | 輸入命令提示符 |
| C-b ; | 切換到上次使用的窗格 |
| C-b = | 從清單中選擇剪貼簿 |
| C-b ? | 列出所有按鍵綁定 |
| C-b C | 自訂選項 |
| C-b D | 從清單中選擇並分離客戶端 |
| C-b E | 平均分配所有窗格 |
| C-b L | 切換到最後一個客戶端 |
| C-b M | 清除標記的窗格 |
| C-b [ | 進入複製模式 |
| C-b ] | 貼上最近的剪貼簿 |
| C-b c | 建立新視窗 |
| C-b d | 分離當前客戶端 |
| C-b f | 搜尋窗格 |
| C-b i | 顯示視窗資訊 |
| C-b l | 切換到上個視窗 |
| C-b m | 標記或取消標記窗格 |
| C-b n | 選擇下一個視窗 |
| C-b o | 選擇下一個窗格 |
| C-b p | 選擇上一個視窗 |
| C-b q | 顯示窗格編號 |
| C-b r | 重新整理當前客戶端 |
| C-b s | 從清單中選擇工作階段 |
| C-b t | 顯示時鐘 |
| C-b w | 從清單中選擇視窗 |
| C-b x | 關閉當前窗格 |
| C-b z | 放大/還原當前窗格 |
| C-b { | 與上方窗格交換位置 |
| C-b } | 與下方窗格交換位置 |
| C-b ~ | 顯示訊息 |
| C-b DC | 重置視窗以跟隨游標 |
| C-b PPage | 進入複製模式並向上捲動 |
| C-b ↑/↓/←/→ | 選擇相對方向的窗格 |
| C-b M-1~M-7 | 設定不同的視窗佈局 |
| C-b M-n | 選擇下一個有警示的視窗 |
| C-b M-o | 反向循環切換窗格 |
| C-b M-p | 選擇上一個有警示的視窗 |
| C-b M-↑/↓/←/→ | 調整窗格大小 (每次5個單位) |
| C-b C-b | 傳送前綴鍵 |
| C-b C-o | 循環切換窗格 |
| C-b C-z | 暫停當前客戶端 |
| C-b C-↑/↓/←/→ | 調整窗格大小 |
| C-b S-↑/↓/←/→ | 移動視窗的可見部分 |
這張表格可以幫助你快速查找 tmux 的常用快速鍵。


