什麼是 tmux?
tmux 是 'Terminal Multiplexer' 的縮寫,它允許您將一個終端機畫面分割成多個獨立的會話、視窗(Window)和窗格(Pane)。當 SSH 連線中斷時,它是一個必不可少的工具,可以讓您的工作繼續執行,或者同時監控多個任務。
3 個核心概念
tmux 具有會話 > 視窗 > 窗格的層次結構。
- 會話 (Session): 最大的單位。包含多個視窗的工作空間。(例如:'project-A')即使從會話中分離(detach),工作也會在背景繼續執行。
- 視窗 (Window): 類似於會話中的標籤(Tab)。一個會話可以有多個視窗。
- 窗格 (Pane): 將一個視窗分割成多個小終端機畫面。(例如:上方編輯程式碼,下方查看日誌)
前綴鍵 (Prefix Key)
在 `tmux` 內部執行命令之前需要按下的組合鍵。預設是 Ctrl+b。(例如:要建立新視窗,請按下 Ctrl+b 後放開,然後再按 c)。本指南中將此鍵表示為 [Prefix]。
主要命令 (Shell)
直接在終端機(Shell)中輸入以管理 tmux 會話的命令。
1. 會話管理
2. 幫助/版本
生成的命令:
請試著組合命令。
這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。
`tmux` 執行命令。
請將上述選項組合在一起,與 AI 一同虛擬執行命令。
主要快捷鍵 (tmux 內部)
在連接到 `tmux` 會話的狀態下使用的快捷鍵。首先按下 [Prefix] (預設 Ctrl+b),然後再按下以下鍵。
會話和視窗 (Window) 管理
- [Prefix] + d: 從會話中分離 (Detach)。工作會繼續在背景執行。
- [Prefix] + c: 建立新視窗 (Create)
- [Prefix] + w: 查看視窗列表 (Windows)
- [Prefix] + n: 移動到下一個視窗 (Next)
- [Prefix] + p: 移動到上一個視窗 (Previous)
- [Prefix] + [0-9]: 直接移動到對應編號的視窗
- [Prefix] + ,: 重新命名當前視窗
- [Prefix] + &: 關閉當前視窗 (需要確認)
窗格 (Pane) 管理
- [Prefix] + %: 垂直分割當前窗格 (左/右)
- [Prefix] + ": 水平分割當前窗格 (上/下)
- [Prefix] + [方向鍵]: 將焦點移動到方向鍵方向的窗格
- [Prefix] + o: 循環移動到下一個窗格
- [Prefix] + z: 放大/縮小當前窗格至全螢幕 (Zoom)
- [Prefix] + x: 關閉當前窗格 (需要確認)
使用情境範例 (Shell)
在終端機中啟動和管理 tmux 的一般流程。
建立並連接 'my-project' 會話
tmux new -s my-project
從會話中分離 (Detach)
在會話中按下 [Prefix](Ctrl+b) 後再按 d 鍵,即可從會話中退出。工作會繼續執行。
查看正在執行的會話列表
tmux ls
重新連接到 'my-project' 會話
tmux attach -t my-project
強制終止 'my-project' 會話
tmux kill-session -t my-project
安裝
tmux 可以透過大多數 Linux 發行版的套件管理器輕鬆安裝。
Debian/Ubuntu
sudo apt update && sudo apt install -y tmux
RHEL/CentOS/Fedora
sudo dnf install -y tmux
Arch Linux
sudo pacman -S --needed tmux
openSUSE
sudo zypper install -y tmux
提示與注意事項
推薦設定/習慣
- SSH 連接後: 連接到遠端伺服器後立即建立會話,例如 `tmux new -s work`,即使連接中斷也能安全地繼續工作。
- 滑鼠模式: 在 ~/.tmux.conf 中添加 `set -g mouse on` 可以讓您用滑鼠調整窗格大小、選擇視窗和滾動。
- 設定檔: 在 ~/.tmux.conf 中設定您自己的快捷鍵和主題。
- 更改前綴鍵: 如果 Ctrl+b 不方便,您可以透過 `set -g prefix C-a` 更改它。