tmux 完全上手指南:安装、命令与实战配置
一份从零到熟练的教程——让一个终端窗口,同时跑起十项任务。
如果你曾经遇到过这些场景:SSH 连着服务器跑训练,网络一抖,进程全没了;或者想一边看日志、一边改代码、一边敲命令,却被一堆叠在一起的终端窗口搞得头晕——那么 tmux 就是为你准备的。
tmux(Terminal Multiplexer,终端复用器)是一个在终端里"开分店"的工具:它能在单个终端窗口内分割出多个窗格、管理多个会话,而且即使你断开了连接,里面的程序依然在后台运行 。本教程带你从安装到配置一步到位。
一句话定义: tmux 让你"离开终端时任务不中断,回来时一切照旧"。
一、先搞懂:tmux 是怎么组织的
tmux 的世界有四层结构,从上到下是 服务器 → 会话 → 窗口 → 窗格 。理解了这层关系,后面所有命令都好记了。

图 1:tmux 的四层结构——一个服务器可容纳多个会话,会话里是窗口,窗口里再分窗格
- Server(服务器) :你启动 tmux 时后台跑的那个进程,它默默托着所有会话。
- Session(会话) :一组相关工作的集合。比如一个叫
dev、一个叫deploy。 - Window(窗口) :相当于普通终端里的一个"标签页",一个会话可以有多个窗口。
- Pane(窗格) :把一个窗口切成几块,每块独立运行命令——这才是"分屏"的真身。
二、安装 tmux
tmux 几乎存在于所有主流包管理器里,安装只需一行命令。
macOS
$ brew install tmux
Ubuntu / Debian
$ sudo apt update
$ sudo apt install -y tmux
CentOS / RHEL / Fedora
$ sudo yum install -y tmux # CentOS 7 及更早
$ sudo dnf install -y tmux # Fedora / RHEL 8+
Arch Linux
$ sudo pacman -S tmux
Windows(WSL)
在 Windows 上推荐安装 WSL(Windows Subsystem for Linux),然后按上面的 Ubuntu 命令安装即可;或直接使用 Git Bash 配合 MSYS2:
# MSYS2 终端中
$ pacman -S tmux
验证安装: 执行 tmux -V,看到类似 tmux 3.4 的版本号就说明成功了。
三、第一次启动与"前缀键"
tmux 的所有快捷键都依赖一个前缀键(Prefix) :默认是 Ctrl + b。意思是:先按 Ctrl+b 松开,再按功能键。下文凡是写 Prefix 的地方,都指这一组合。
$ tmux # 启动一个新会话
$ tmux new -s dev # 启动并命名为 dev
$ tmux ls # 列出所有会话
$ tmux attach -t dev # 重新接入名为 dev 的会话
新手最易踩的坑: 在 tmux 里按 Ctrl+d 或输入 exit 会直接 关闭 当前窗格;想"安全离开"请按 Prefix 然后 d(detach),任务仍在后台跑。
四、常用命令与快捷键速查表
会话管理
| 操作 | 命令 / 快捷键 | 说明 |
|---|---|---|
| 新建命名会话 | tmux new -s 名称 |
会话名便于记忆 |
| 列出会话 | tmux ls |
查看所有在跑的会话 |
| 接入会话 | tmux attach -t 名称 |
回到指定会话 |
| 脱离会话 | Prefix d | 离开但任务不中断 |
| 重命名会话 | Prefix $ | 给当前会话改名 |
| 杀掉会话 | tmux kill-session -t 名称 |
彻底结束该会话 |
窗口与窗格
| 操作 | 快捷键 | 说明 |
|---|---|---|
| 新建窗口 | Prefix c | 开一个标签页 |
| 切换窗口 | Prefix 0~9 | 跳到对应编号窗口 |
| 左右分屏 | Prefix % | 竖切出右窗格 |
| 上下分屏 | Prefix " | 横切出下窗格 |
| 切换窗格 | Prefix o | 在窗格间循环 |
| 关闭窗格 | Prefix x | 确认后关闭 |
| 窗格全屏 | Prefix z | 放大/还原当前窗格 |
| 调整布局 | Prefix 空格 | 循环切换预设布局 |
滚动与复制
| 操作 | 快捷键 | 说明 |
|---|---|---|
| 进入复制模式 | Prefix [ | 可上下翻页、搜索 |
| 退出复制模式 | q | 在复制模式中按 |
| 翻页 | PgUp / PgDn | 复制模式下滚动 |

图 2:常用窗格布局——按 Prefix + 空格 可在它们之间循环
五、三个最实用的实战场景
场景 1:SSH 跑长任务,断线也不怕
本地 $ ssh user@server
server$ tmux new -s train
# 开始训练 / 编译 / 下载……
server$ # 按 Prefix d 安全离开
# 哪怕关掉笔记本,任务仍在服务器后台运行
server$ tmux attach -t train # 随时回来看进度
场景 2:一屏三用,边看边干
$ tmux new -s work
# Prefix % 右侧分屏看日志
# Prefix " 下方再切一块跑测试
# Prefix o 在三个窗格间来回切换
场景 3:结对编程 / 演示共享
$ tmux new -s pair
# 让同伴用同一个账号 SSH 进来,执行:
同伴$ tmux attach -t pair
# 两人看到的是同一个实时屏幕
六、让 tmux 更好用的配置文件
tmux 的配置写在用户家目录的 ~/.tmux.conf。下面是一份"开箱即用"的入门配置,把前缀键改成更顺手的 Ctrl+a、开启鼠标支持、美化状态栏。
# ~/.tmux.conf —— 入门推荐配置
# 1. 把前缀键从 Ctrl+b 改为 Ctrl+a(大拇指更舒服)
unbind C-b
set -g prefix C-a
bind C-a send-prefix
# 2. 开启鼠标:可直接点窗格、滚轮翻页
set -g mouse on
# 3. 命令延时与历史行数
set -sg escape-time 10
set -g history-limit 5000
# 4. 用 Vim 风格的方向键切换窗格
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# 5. 美化状态栏
set -g status-style "bg=#0f172a, fg=#e2e8f0"
set -g window-status-current-style "bg=#0d9488, fg=#ffffff"
set -g status-right "#{?pane_in_mode, #[fg=orange]COPY,} #H %m-%d %H:%M"
# 6. 窗口编号从 1 开始(顺手)
set -g base-index 1
set -g pane-base-index 1
生效方式: 保存后,在 tmux 内按 Prefix 再输入 :source-file ~/.tmux.conf 回车;或新开会话自动加载。
七、让效率翻倍的 5 个小贴士
- 会话命名是好习惯: 用
-s起有意义的名字,tmux ls一眼就懂。 - 配合 NeoVim / Vim: 在窗格里跑编辑器,再分屏看文档,体验极佳。
- 用插件管理器: TPM 可一键安装状态栏、快捷键增强等插件。
- 同步输入:
setw synchronize-panes让所有窗格同时接收键盘输入,批量操作服务器神器。 - 256 色与 True Color: 在
.tmux.conf加set -g default-terminal "tmux-256color",颜色更准。
排错: 如果粘贴内容乱码,先 Prefix 再按 [ 进入复制模式,或用 tmux setw synchronize-panes off 关闭同步;鼠标选中复制请在配置里保留 set -g mouse on。
八、参考资料
- tmux 官方手册:github.com/tmux/tmux
- tmux 速查表(cheat sheet):tmuxcheatsheet.com
- 插件管理器 TPM:github.com/tmux-plugins/tpm
- Arch Wiki – tmux:wiki.archlinux.org/title/Tmux
发表评论