萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux Tmux 終端機多工神器:從安裝到會話/視窗/面板進階操作全攻略

Tmux (Terminal Multiplexer) 是終端機使用者的效率倍增器:單一視窗管理多會話、多視窗、多面板,支援分離/重接會話、彈性佈局、高度可配置。本文涵蓋各發行版安裝、會話管理、視窗操作、面板分割、鍵位綁定、配置技巧與實戰工作流。

一、安裝 Tmux

發行版指令
macOS (Homebrew)brew install tmux
macOS (MacPorts)port install tmux
Debian / Ubuntusudo apt-get install tmux
RHEL / CentOS / Fedorasudo yum install tmux (CentOS 需 EPEL)
Arch Linuxsudo pacman -S tmux

二、核心概念與前綴鍵

  • 前綴鍵:預設 Ctrl-b(以下簡寫 C-b)
  • 會話:最上層容器,可包含多視窗
  • 視窗:會話內的標籤頁,佔滿終端機畫面
  • 面板:視窗內的分割區塊,可水平/垂直分割

三、會話管理

# 建立命名會話
$ tmux new -s mysession

# 離開會話(保持後台運行)
C-b d

# 列出所有會話
$ tmux ls

# 重新連接最後/指定會話
$ tmux attach -t mysession

# 重命名會話
$ tmux rename-session -t old new

# 刪除會話
$ tmux kill-session -t mysession

# 互動式選擇會話
C-b s

四、視窗操作

# 建立新視窗
C-b c

# 重命名當前視窗
C-b ,

# 切換視窗
C-b 0-9        # 直接跳轉
C-b n / p      # 下一個 / 上一個
C-b l          # 最後使用的視窗
C-b w          # 互動式列表選擇
C-b f          # 搜尋視窗名稱

# 關閉視窗
C-b &

新建視窗示意

重命名視窗狀態列

五、面板分割與導航

# 水平分割(上下)
C-b "

# 垂直分割(左右)
C-b %

# 面板間移動
C-b 方向鍵

# 關閉面板
C-b x

# 關閉除當前外所有面板
C-b !

# 切換佈局(均分、主面板等)
C-b Space

四面板佈局示意

六、進階配置(~/.tmux.conf 範例)

# 更改前綴鍵為 Ctrl-a (類似 Screen)
unbind C-b
set -g prefix C-a
bind C-a send-prefix

# 啟用滑鼠支援 (tmux 2.1+)
set -g mouse on

# 以 vi 模式複製模式
setw -g mode-keys vi

# 面板編號從 1 開始
set -g base-index 1
setw -g pane-base-index 1

# 歷史緩衝區增大
set -g history-limit 10000

# 狀態列顯示 CPU/記憶體 (需安裝 tmux-mem-cpu-load)
set -g status-right "#(tmux-mem-cpu-load) %H:%M %d-%b-%y"

七、實戰工作流範例

  1. tmux new -s dev 建立開發會話
  2. C-b " 水平分割:上方 vim 編輯程式碼,下方 make 編譯/測試
  3. C-b c 新視窗:ssh production 遠端部署
  4. C-b c 新視窗:tail -f /var/log/app.log 即時日誌
  5. C-b d 離開,隔天 tmux attach -t dev 秒回現場

八、常見問題

  • 顏色異常:確認 TERM=screen-256color,在 .bashrc 設定 export TERM=screen-256color
  • SSH 斷線會話消失:Tmux 會話在伺服器端持久化,重新連線 tmux attach 即可恢復
  • 複製貼上失效:啟用 set -g mouse on 或使用 C-b [ 進入複製模式(vi 鍵位)
copyright © 萬盛學電腦網 all rights reserved