Tmux 的核心价值:关闭终端窗口后,任务依然在后台运行。核心逻辑为会话(Session) > 窗口(Window) > 窗格(Pane)。
默认前缀快捷键为Ctrl + b(下文简称前缀),即先按Ctrl+b松手,再按下一个键。
一、终端命令简写速查表(在 Bash/Zsh 中输入)
以下命令均可在终端直接输入,name替换为你的自定义会话名:
| 完整命令 | 常用简写 | 作用 |
|---|---|---|
tmux new-session -s name | tmux new -s name | 创建名为name的新会话 |
tmux attach-session -t name | tmux a -t name(最常用) | 重新接入(恢复)名为name的会话 |
tmux list-sessions | tmux ls | 列出当前所有运行的会话 |
tmux kill-session -t name | tmux kill-ses -t name | 杀死(关闭)指定会话 |
tmux detach-client | (一般用快捷键) | 脱离当前会话(后台运行) |
特别提醒:
tmux a是attach的缩写,几乎所有老手都直接用tmux a -t 名字来恢复会话。如果只有一个会话,甚至可以直接输入tmux a免写名字。
二、会话(Session)生命周期管理
这部分解决了“关掉终端任务还在”的核心需求。
| 操作目的 | 终端命令 | Tmux 内部快捷键 |
|---|---|---|
| 新建会话 | tmux new -s 名字 | - |
| 脱离(后台运行) | - | 前缀+d |
| 查看所有会话 | tmux ls | 前缀+s(弹出交互列表) |
| 重新接入 | tmux a -t 名字 | - |
| 杀死会话 | tmux kill-ses -t 名字 | - |
三、窗格(Pane)管理——分屏操作
适合把一个终端切成上下左右多个小块,同时监控日志、编辑文件等。
| 操作目的 | 快捷键(前缀+ 以下按键) |
|---|---|
| 左右分屏(竖切) | %(Shift + 5) |
| 上下分屏(横切) | "(Shift + ') |
| 切换光标到相邻窗格 | 方向键(↑↓←→) |
| 关闭当前窗格 | 输入exit或按Ctrl + d |
| 调整当前窗格大小 | Ctrl+ 方向键(按住 Ctrl 再按上下左右) |
| 全屏放大当前窗格 | z(再按一次恢复) |
| 循环切换内置布局 | 空格(空格键,适合切乱了恢复) |
四、窗口(Window)管理——像浏览器标签页
一个会话里可以开多个“标签页”,适合同时跑不同服务(如前端、后端、数据库)。
| 操作目的 | 快捷键(前缀+ 以下按键) |
|---|---|
| 新建窗口 | c(create) |
| 重命名当前窗口 | ,(逗号) |
| 切换到下一个窗口 | n(next) |
| 切换到上一个窗口 | p(previous) |
| 列出所有窗口 | w(弹出列表,可用方向键选择) |
| 关闭当前窗口 | 关闭内部所有窗格,或按&(需按y确认) |
五、复制与滚动(解决翻页痛点)
刚进 Tmux 会发现鼠标滚轮无法翻页,需要用复制模式。
- 进入复制模式(翻页):按
前缀+[(左中括号) - 翻页操作:进入后按
PgUp/PgDn(或者Ctrl+u上翻半屏,Ctrl+d下翻半屏) - 退出翻页模式:按
q键 - 复制文本(进阶):在复制模式下,按
空格开始高亮选中,按回车复制;然后在目标位置按前缀+]粘贴。
六、救命配置:开启鼠标支持(新手必做)
默认 Tmux 操作全靠键盘,非常劝退。强烈建议新建配置文件~/.tmux.conf,写入以下内容:
# 开启鼠标支持:可以直接点击切换窗格、拖动调整大小、滚轮翻页set-gmouse on# (可选)改变前缀键为 Ctrl+a,如果觉得 Ctrl+b 太远# unbind C-b# set -g prefix C-a# 注意改完后,所有快捷键前缀都变成 Ctrl+a保存后,在终端执行tmux source-file ~/.tmux.conf使其生效(或重启 Tmux)。
七、实战工作流示例(跑服务 + 看日志)
假设你要在服务器上跑一个 Python 爬虫,并且中途要实时看日志:
- 登录服务器,输入
tmux new -s spider创建名为spider的会话。 - 按
前缀+"上下分屏。 - 上屏运行爬虫:
python run.py。 - 下屏查看日志:
tail -f log.txt。 - 按
前缀+d脱离会话,直接关闭终端下班。 - 第二天上班,登录服务器,输入
tmux a -t spider,一切恢复如初,两个窗格依然完美运行。
如果程序卡死:按
Ctrl + c终止当前前台进程,和普通终端操作完全一致。如果某个窗格彻底没反应,可以按Ctrl + d或输入exit关闭该窗格重新分屏。
更新日期:2026-07-22