Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux 終端複用神器 Tmux 安裝與核心用法指南

編輯:關於 Linux

Tmux(Terminal Multiplexer)是終端複用器,能在單一 SSH 連接中管理多個窗口、面板,支持會話斷開後進程保活、隨時恢復現場。對比 Screen,Tmux 更現代、腳本友好、插件生態豐富。本文涵蓋安裝、核心概念、常用快捷鍵、配置優化、團隊協作場景。

Tmux 會話-窗口-面板架構圖

安裝

# Ubuntu / Debian
apt update && apt install -y tmux

# CentOS / RHEL 7/8
yum install -y tmux
# 或 epel-release

# macOS (Homebrew)
brew install tmux

# 源碼編譯(獲取最新版)
# git clone https://github.com/tmux/tmux.git
# cd tmux && sh autogen.sh && ./configure && make && sudo make install

核心概念:三層架構

  • Session(會話):最頂層容器,包含一組窗口,具有唯一名稱/ID。可 detach 斷開並後台運行,後續 attach 恢復。
  • Window(窗口):會話中的全屏終端,類比瀏覽器標簽頁。可水平/垂直分割為多個面板。
  • Pane(面板):窗口內的矩形區域,各自運行獨立 Shell 進程。可調整大小、移動、同步輸入。

關係:1 Session → N Windows → M Panes

啟動與基礎操作

窗口操作(前綴 Ctrl+b)

操作命令 / 快捷鍵說明
新建會話tmux new -s mysession-s 指定名稱,便於後續 attach
列出會話tmux ls
附著最近會話tmux attach 或 tmux a
附著指定會話tmux attach -t mysession
斷開會話Ctrl+b d前綴鍵 Ctrl+b 後按 d
殺死會話tmux kill-session -t mysession
殺死所有會話tmux kill-server
操作快捷鍵
新建窗口c
切換下一個窗口n
切換上一個窗口p
按編號切換 (0-9)0~9
重命名窗口,
關閉窗口& (確認後)
窗口列表選擇w

面板操作(前綴 Ctrl+b)

操作快捷鍵
垂直分割 (左右)%
水平分割 (上下)"
在面板間切換方向鍵 / o (循環) / q (顯示編號選擇)
調整面板大小Ctrl+方向鍵 / Alt+方向鍵 (需配置)
關閉面板x (確認後)
面板最大化/恢復z
同步輸入 (所有面板輸入相同): 輸入 setw synchronize-panes on/off

配置優化 ~/.tmux.conf

# 修改前綴鍵為 Ctrl+a (更順手,避開 Vim/Emacs 衝突)
unbind C-b
set -g prefix C-a
bind C-a send-prefix

# 啟用鼠標支持 (拖拽調整面板、滾動歷史、點擊切換窗口)
set -g mouse on

# 歷史緩衝區大小
set -g history-limit 50000

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

# 狀態欄美化
set -g status-bg colour235
set -g status-fg white
set -g status-left '#[fg=green]#S '
set -g status-right '#[fg=yellow]%Y-%m-%d %H:%M '

# Vi 模式複製粘貼
setw -g mode-keys vi
bind -T copy-mode-vi v send -X begin-selection
bind -T copy-mode-vi y send -X copy-selection-and-cancel
bind p paste-buffer

# 重新載入配置
bind r source-file ~/.tmux.conf \; display "Config reloaded!"

修改後:tmux source-file ~/.tmux.conf 或按 Ctrl+a r 重載。

進階場景:團隊協作 / Pair Programming

# 用戶 A 創建會話
tmux new -s pair

# 用戶 B 附著同一會話 (需同用戶或同組、socket 權限)
tmux attach -t pair

# 或使用 socket 文件共享 (跨用戶)
tmux -S /tmp/pair_socket new -s pair
chmod 777 /tmp/pair_socket
# 用戶 B
tmux -S /tmp/pair_socket attach -t pair

雙方看到完全相同的終端內容,可實時協作編碼、調試。

插件生態:Tmux Plugin Manager (TPM)

# 安裝 TPM
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

# ~/.tmux.conf 添加插件
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-resurrect'   # 會話持久化(重啟恢復)
set -g @plugin 'tmux-plugins/tmux-continuum'  # 自動保存/恢復
set -g @plugin 'tmux-plugins/tmux-yank'       # 複制到系統剪貼板
set -g @plugin 'christoomey/vim-tmux-navigator' # Vim/Tmux 無縫導航

# 初始化 TPM (放在配置文件最底部)
run '~/.tmux/plugins/tpm/tpm'

安裝插件:Ctrl+a I (大寫 i);更新:Ctrl+a U。

Tmux vs Screen vs Zellij

特性TmuxScreenZellij (Rust 新秀)
配置語法簡單腳本較繁瑣YAML/TOML
插件系統TPM 成熟無內建 Wasm 插件
面板布局手動分割手動預設佈局/插件化
性能/內存輕量較重中等
學習曲線中等較陡平緩

掌握 Tmux,讓您的終端工作流具備「斷點續傳」、「多任務並行」、「團隊協作」能力,是 Linux 開發運維效率的倍增器。

Copyright © Windows教程網 All Rights Reserved