tmux通过「会话→窗口→面板」三层结构实现多任务并行与断网不丢任务,核心是持久化会话而非单纯分屏;常用操作包括Ctrl+a%/%分屏、Ctrl+a c新建窗口、Ctrl+a d分离、tmux attach-session恢复会话。

用 tmux 切分终端窗口,核心是建立「会话 → 窗口 → 面板」三层结构,让多个命令并行运行、互不干扰,还能断网不丢任务。重点不在“多开几个终端”,而在“一个终端里稳住多个活儿”。
快速创建分屏面板(最常用)
进入 tmux 会话后,默认只有一个面板。按前缀键(默认 Ctrl+b,建议改成 Ctrl+a 更顺手)再加对应键即可切分:
- 垂直分屏(左右两个面板):Ctrl+a %
- 水平分屏(上下两个面板):Ctrl+a "
- 分好后,用 Ctrl+a + 方向键(上/下/左/右)跳转到目标面板
- 想临时放大当前面板占满整个窗口?按 Ctrl+a z;再按一次退出缩放
按任务逻辑组织窗口,不止是分屏
面板适合短时对比(比如一边 tail 日志,一边查进程),但真正做运维监控,推荐用「窗口」隔离不同场景:
- 新建窗口:Ctrl+a c(例如:一个窗口专盯数据库,一个看 Nginx 访问日志)
-
重命名窗口:Ctrl+a , → 输入
db-monitor或nginx-log,方便识别 - 切换窗口:Ctrl+a n(下一个)、Ctrl+a p(上一个),或 Ctrl+a + 数字(如 Ctrl+a 0)直接跳转
- 列出所有窗口:Ctrl+a w,弹出菜单,用方向键选中后回车
让监控任务真正“活着”,不怕断连
分屏只是表象,tmux 的价值在于会话持久化。运维中最怕的是:tail -f /var/log/syslog 正看着,SSH 断了,全没了。
- 启动带名字的会话:
tmux new-session -s monitor-prod - 执行监控命令后,按 Ctrl+a d 安全分离(不是关闭!)
- 网络恢复后,直接连回去:
tmux attach-session -t monitor-prod - 如果忘了名字,先查:
tmux ls→ 显示类似monitor-prod: 2 windows (created ...)
提升效率的实用配置(配一次,省半年)
默认配置对运维不友好,建议在 ~/.tmux.conf 中加这几行:
-
set -g prefix C-a—— 把前缀键从 Ctrl+b 换成更顺手的 Ctrl+a -
set -g mouse on—— 开启鼠标支持,点窗口/面板直接切换 -
bind c new-window -c '#{pane_current_path}'—— 新窗口继承当前路径,不用每次 cd - 改完执行
tmux source-file ~/.tmux.conf立即生效
不需要记全所有快捷键,先练熟这四步:进会话 → 分屏/开窗 → 切换 → 分离再连。运维监控的关键,是让任务稳住,人可以随时抽身。


















