开发者工具 · 命令速查

tmux/screen 速查

终端复用快捷键

本地处理 · 不上传 免费 · 无需登录 无次数限制 累计 52 次使用
tmux / screen · Cheatsheet 前缀 Ctrl-b
前缀键 Prefix tmux = Ctrl-b screen = Ctrl-a 带「前缀」徽标的条目,先按前缀键松开,再按后续键。可在 .tmux.conf 改键(推荐改 Ctrl-a,详见下方配置)。
条 目 分 类会话 · 窗口 · 面板 · 复制模式 · 配置 · 其它
快 捷 键 全 表Gallery · 点卡片看 说明 / 场景 / 示例 / screen 对照
点选左侧任一条目
查看 前缀键 / 中文说明 / 典型场景 · 示例 · screen 对照 · 相关项互跳
.tmux.conf 推 荐 配 置Config · 放入 ~/.tmux.conf,prefix r 或 tmux source 生效
~/.tmux.conf常用一段 · 改键 / 鼠标 / vi 模式 / 状态栏 / 分屏方向
速 记 口 诀Combos · 几组高频终端复用场景速查(点命令可复制)
就绪 · 含分类速查 + 前缀徽标 + 中文说明 + 典型场景 + 示例 + screen 对照 · 全程浏览器本地
第一节

关于本工具

About

在 SSH 会话里开了一堆任务,想切到后台编译的窗口却按错了快捷键,导致终端卡死或会话断开。这个工具把 tmux 和 screen 的核心快捷键按功能分组列出来,比如新建窗口、分屏、滚动翻页,每条都标注了实际效果。所有内容来自官方手册,页面纯静态,不收集任何按键记录——适合刚切换终端复用器、或总记混 Ctrl+b 与 Ctrl+a 区别的人快速对照。

使用场景

SSH 断线救回

在公司通过 SSH 连上服务器编译大型项目,编译到一半网络闪断,终端窗口关闭,所有进度丢失。下次登录只能从头编译。本工具提供 tmux/screen 快捷键,在 SSH 连接前启动会话,断线后重连执行 `tmux attach` 即可回到原界面,编译进程仍在后台运行,避免数小时的重复等待。

远程协助同事排错

运维同事在排查线上 Nginx 配置错误,需要查看当前运行状态和日志输出。两人共用同一台跳板机,各自开窗口会互相干扰。通过 tmux 的窗格分割快捷键,一人开日志窗格,另一人开命令窗格,实时看到对方操作和输出,无需反复截图或电话描述,排查时间从半小时缩短到五分钟。

监控多台服务器日志

凌晨值班需要同时 tail -f 四台 Web 服务器的访问日志,传统做法开四个终端标签页来回切换,容易漏掉某个节点的异常。用 screen 的窗口快捷键,在一个终端里创建四个窗口,分别连接不同服务器,按 `Ctrl+A n/p` 快速轮播,或启用 `monitor` 模式,窗口有活动输出时自动高亮提醒。

课堂演示终端操作

讲师在 Linux 基础课上演示 `vim` 编辑和 `gcc` 编译流程,学生透过投影看。讲师需要同时展示代码编辑区、编译命令区和运行结果,来回切换窗口会让学生跟不上。用 tmux 的垂直/水平分割快捷键,将终端分成左(代码)、右上(编译命令)、右下(运行输出)三个窗格,所有步骤一目了然,且窗格大小可随时调整。

数据迁移后台保活

DBA 在凌晨执行 MySQL 数据库跨机迁移,`mysqldump` 导出 + `mysql` 导入预计耗时 2 小时。如果本地终端休眠或 VPN 超时,传输中断可能导致数据不一致。启动 screen 会话后执行迁移命令,按 `Ctrl+A D` 分离会话,关闭终端回家睡觉。第二天用 `screen -r` 重新挂接,检查迁移日志,确认无报错即可收工。

第二节

使用指南

Getting Started

使用步骤

  1. 1在左侧面板点击「tmux」或「screen」标签,切换对应的快捷键分类
  2. 2点击任意快捷键行(如 `Ctrl+b %`),右侧弹出该快捷键的详细说明与等效命令
  3. 3在搜索框输入关键词(如 `split`),列表实时过滤出匹配的快捷键,高亮显示匹配项
  4. 4点击快捷键行末尾的「复制」图标,命令文本自动写入剪贴板,并出现短暂提示
  5. 5展开底部「常用组合」折叠区,查看按使用频率排序的 10 条核心快捷键,无需翻页

输入输出示例

输入输出说明
tmux new -s mysession创建名为 mysession 的新会话常规:最常用的会话创建命令,验证基本命名功能
Ctrl+b d分离当前会话(回到终端,会话后台运行)常规:分离操作是 tmux 核心用法,用户常混淆与退出(exit)的区别
tmux ls列出所有活动会话(名称、窗口数、状态)常规:查看现有会话的快捷方式,适合多会话管理场景
tmux kill-session -t 空会话名错误:会话名不能为空边界:空字符串作为会话名,工具应返回明确错误而非静默失败
Ctrl+b %垂直分割当前窗格(左右分屏)边界:分割命令在只有一个窗格时正常执行,但在已满布局中可能失败
tmux attach -t 不存在的会话错误:会话 '不存在的会话' 未找到边界:尝试附加到不存在的会话,工具应给出清晰错误提示
Ctrl+b :resize-pane -D 10将当前窗格向下调整 10 行易错:用户常误以为 resize-pane 是快捷键直接触发,实际需进入命令模式(:)后输入
exit(在 tmux 会话内)关闭当前窗格;若为最后一个窗格,则关闭整个会话易错:exit 与 detach(Ctrl+b d)行为不同,用户常误用 exit 导致会话终止

常见错误对照

1.前缀键混淆:Ctrl+b 与 Ctrl+a 混用

✗ 错误在 tmux 中按 Ctrl+a 试图激活前缀
✓ 修复tmux 默认前缀是 Ctrl+b;screen 默认前缀是 Ctrl+a

两个工具前缀键不同,混用会导致命令无响应。tmux 前缀为 Ctrl+b,screen 为 Ctrl+a,需根据当前工具选择对应键。

2.新建窗口用错命令:Ctrl+b c 写成 Ctrl+b n

✗ 错误在 tmux 中按 Ctrl+b n 试图新建窗口
✓ 修复Ctrl+b c 新建窗口;Ctrl+b n 是切换到下一个窗口

Ctrl+b n 在 tmux 中功能是 next-window(切换到下一个窗口),而非 new-window。新建窗口必须用 Ctrl+b c。

3.退出窗口误用 Ctrl+d 导致会话终止

✗ 错误想关闭当前窗口,在 shell 里按 Ctrl+d
✓ 修复先按前缀键 Ctrl+b,再按 & 关闭当前窗口(需确认 y/n)

Ctrl+d 会发送 EOF 给 shell,若最后一个窗口退出,tmux 会话直接终止。正确做法是用 Ctrl+b & 关闭窗口,保留会话。

4.分屏后方向键失效:未加前缀键

✗ 错误分屏后直接按 ↑↓←→ 切换窗格
✓ 修复先按 Ctrl+b,再按方向键(或 hjkl)切换窗格

分屏后方向键默认控制 shell 内光标,要切换窗格必须先按前缀键 Ctrl+b,再按方向键。

5.滚动模式退出方式错误:按 q 而非 Esc

✗ 错误进入复制模式(Ctrl+b [)后按 Esc 退出
✓ 修复按 q 退出复制模式(滚动模式)

tmux 复制模式(scrollback)使用 vi 风格键绑定,退出键为 q,不是 Esc。Esc 在某些配置下会触发额外行为。

6.重命名窗口时忘记前缀键顺序

✗ 错误按 Ctrl+b , 后直接输入新名称
✓ 修复按 Ctrl+b , 后,底部状态栏出现提示,输入新名称后按 Enter

逗号键 , 是前缀后的命令,需先按 Ctrl+b 再按 ,,然后状态栏会显示 rename-window 提示,输入名称后回车确认。

7.分离会话与关闭会话混淆

✗ 错误想暂时离开,按 Ctrl+b x 关闭当前窗格
✓ 修复按 Ctrl+b d 分离会话(detach),会话在后台继续运行

Ctrl+b x 是 kill-pane(杀死当前窗格),会终止其中进程。分离会话应用 Ctrl+b d(detach),会话保持运行,可后续重新附加。

第三节

工作原理

How It Works

核心公式

tmux 会话管理: 创建新会话: tmux new -s <会话名>; 分离会话: Ctrl+b d; 重新附加: tmux attach -t <会话名>; 列出会话: tmux ls

变量说明

  • <会话名>自定义会话标识,字母数字组成
  • Ctrl+btmux 默认前缀键,触发快捷键
  • d分离当前会话的快捷键
  • -t指定目标会话的参数

示例

场景:远程服务器上运行长时间任务,需断开后重连。创建会话:tmux new -s build,运行编译任务。按 Ctrl+b 再按 d 分离。回家后重新附加:tmux attach -t build,任务仍在运行。

快捷键按下(如 Ctrl+B, Ctrl+A)前缀识别(命令模式 / 转义)命令匹配(查快捷键表)执行动作窗口 / 面板管理(拆分 / 切换 / 关闭)会话管理(分离 / 重连 / 列表)终端复用:持续运行 / 后台驻留
用户输入 本地处理 输出结果
第五节

常见问题

Q & A
tmux 和 screen 到底选哪个?我主要用来跑长时间任务不掉线。

两者核心功能一样:保持会话后台运行。tmux 更现代,支持分屏(Ctrl+B % 竖分、Ctrl+B " 横分)和窗口管理,配置灵活但学习曲线略陡。screen 更轻量,几乎所有 Linux 预装,无需额外安装。如果你只在单窗口跑长任务(如编译、下载),screen 够用;需要多任务分屏查看日志或调试,建议 tmux。本速查表同时列出两者的对应快捷键,方便对照切换。

tmux 怎么新建一个窗口?我按了 Ctrl+B 再按 c 没反应。

确保先松开 Ctrl+B 再单独按 c。常见错误是按住 Ctrl+B 的同时按 c,这会被识别为 Ctrl+C 中断。正确操作:按 Ctrl+B → 松开所有键 → 按 c。如果无效,检查终端是否捕获了快捷键(如某些 SSH 客户端把 Ctrl+B 映射为其他功能)。本速查表在「基本操作」区列出了 tmux 和 screen 的对照快捷键,每个步骤都标明了按键顺序。

为什么我 tmux 的滚动条滚不动?怎么像普通终端一样翻页?

tmux 默认不启用鼠标滚动,需要先进入复制模式。按 Ctrl+B [ 进入复制模式,然后用方向键或 PageUp/PageDown 翻页。按 q 或 Enter 退出。如果希望鼠标滚轮直接生效,可以在 ~/.tmux.conf 里加一行 set -g mouse on,但注意这会覆盖终端的原生选择功能。本速查表在「高级操作」区列出了复制模式的详细按键。

screen 怎么分屏?我试了 Ctrl+A S 没反应。

Screen 的分屏操作分两步:先按 Ctrl+A S(大写 S)水平切分,然后按 Ctrl+A Tab 切换到新区域,再按 Ctrl+A c 在该区域创建新窗口。注意 S 要大写(Shift+s),小写 s 是其他功能。垂直分屏(左右排列)在 screen 中不原生支持,需要额外安装 screen-xsplit 或改用 tmux。本速查表在「分屏操作」区详细列出了 tmux 和 screen 的差异。

我 SSH 断开后 tmux 会话还在吗?怎么重新连上?

会话不会丢失,后台持续运行。重新登录后执行 tmux attach 即可回到之前的会话。如果开了多个会话,先用 tmux ls 列出所有会话,再 tmux attach -t 会话编号(如 tmux attach -t 0)。本速查表在「会话管理」区列出了 tmux 和 screen 的对应命令,包括列出、附加、分离和杀死会话的快捷键。

不小心关掉了 tmux 窗口,里面的进程会死吗?

不会。只要 tmux 会话还在(未用 tmux kill-session 或 exit 退出最后一个窗口),所有子进程继续运行。仅关闭窗口(Ctrl+B &)只会销毁该窗口的终端,进程会挂到后台。如果需要彻底终止进程,应在窗口内用 Ctrl+C 或 kill 命令。本速查表在「危险操作」区用红色标注了会终止进程的命令,方便避坑。

tmux 和 screen 哪个更省内存?我服务器只有 512M。

screen 更省。一个空闲 screen 会话约占用 2-4 MB 内存,tmux 约 10-15 MB。如果只开 1-2 个窗口跑任务,两者差异不大;但开 10+ 窗口时 screen 优势明显。另外,tmux 的 256 色支持和状态栏自定义会额外消耗少量 CPU。低配服务器建议用 screen,本速查表也提供了 screen 常用命令的完整列表。

tmux 怎么改快捷键?我想把前缀从 Ctrl+B 改成 Ctrl+A。

编辑 ~/.tmux.conf,加入 set -g prefix C-a,然后 tmux source-file ~/.tmux.conf 重载配置。注意改完后原来 Ctrl+B 的快捷键失效,所有操作都要用新的前缀。如果改后不生效,检查文件是否有语法错误。本速查表在「配置参考」区给出了常见自定义配置的示例,包括修改前缀、启用鼠标和调整状态栏。

为什么我按 Ctrl+B % 分屏后,右边区域是空白的?

新分屏默认进入空终端,需要手动启动 shell 或命令。如果空白区域无法输入,检查是否在正确的 pane 中:Ctrl+B 方向键 切换焦点。如果 shell 没有自动启动,可能是 tmux 的默认 shell 配置问题,在 ~/.tmux.conf 中加 set -g default-command /bin/bash 或 /bin/zsh。本速查表在「分屏操作」区列出了切换 pane 和调整 pane 大小的快捷键。

隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。

选择 打开 +新窗口 esc关闭