news 2026/4/16 19:10:42

tmux终端复用完全指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
tmux终端复用完全指南

SSH连到服务器,跑个任务,终端一断任务就没了。

用tmux可以解决这个问题——会话在服务器上一直跑,你断开连接也没事,下次连上来还在。

而且tmux可以分屏、多窗口,一个终端顶好几个用。

安装

# Debian/Ubuntuaptinstalltmux# CentOSyuminstalltmux# macOSbrewinstalltmux

基本概念

tmux有三层结构:

Session(会话) ├── Window(窗口) │ ├── Pane(面板) │ └── Pane └── Window └── Pane
  • Session:一个工作环境,可以有多个窗口
  • Window:一个窗口,可以分割成多个面板
  • Pane:实际的终端

快速上手

创建和管理会话

# 创建会话tmux# 创建匿名会话tmux new -s work# 创建名为work的会话# 断开会话(会话继续在后台运行)# 快捷键:Ctrl+b d# 查看所有会话tmuxls# 重新连接会话tmux attach# 连接最近的会话tmux a -t work# 连接名为work的会话# 杀掉会话tmux kill-session -t work

常用快捷键

tmux的快捷键都是 Ctrl+b 开头,称为前缀键。

先按 Ctrl+b,松开,再按后面的键。

会话操作

  • Ctrl+b d- 断开会话(detach)
  • Ctrl+b s- 切换会话
  • Ctrl+b $- 重命名会话

窗口操作

  • Ctrl+b c- 新建窗口
  • Ctrl+b n- 下一个窗口
  • Ctrl+b p- 上一个窗口
  • Ctrl+b 数字- 切换到指定窗口
  • Ctrl+b ,- 重命名窗口
  • Ctrl+b &- 关闭窗口

面板操作

  • Ctrl+b %- 左右分屏
  • Ctrl+b "- 上下分屏
  • Ctrl+b 方向键- 切换面板
  • Ctrl+b x- 关闭当前面板
  • Ctrl+b z- 最大化/恢复当前面板
  • Ctrl+b {- 向前移动面板
  • Ctrl+b }- 向后移动面板
  • Ctrl+b Ctrl+方向键- 调整面板大小

其他

  • Ctrl+b ?- 显示所有快捷键
  • Ctrl+b :- 进入命令模式
  • Ctrl+b [- 进入复制模式(可以滚动查看历史)

实用场景

场景1:跑长任务

# 创建会话tmux new -s deploy# 执行部署脚本./deploy.sh# 断开(Ctrl+b d)# 该干啥干啥去# 回来看结果tmux a -t deploy

即使网络断了,部署任务也在继续执行。

场景2:多任务并行

# 创建会话tmux new -s dev# 左右分屏(Ctrl+b %)# 左边跑服务npmrun dev# 切到右边(Ctrl+b →)# 上下分屏(Ctrl+b ")# 看日志tail-f /var/log/app.log# 切到下面(Ctrl+b ↓)# 连数据库mysql -u root -p

一个终端三个任务同时看。

场景3:分享终端

两个人可以同时连接同一个tmux会话,看到相同的内容,适合远程pair programming:

# A创建会话tmux new -s pair# B连接同一个会话tmux a -t pair

两个人看到的完全同步。

配置优化

tmux默认配置不太好用,建议自定义。创建~/.tmux.conf

# 设置前缀键为Ctrl+a(更顺手)unbind C-bset-g prefix C-abindC-a send-prefix# 开启鼠标支持set-g mouse on# 设置历史记录长度set-g history-limit50000# 窗口编号从1开始set-g base-index1setw -g pane-base-index1# 窗口自动重新编号set-g renumber-windows on# 设置终端颜色set-g default-terminal"screen-256color"# 减少延迟set-sg escape-time0# 状态栏set-g status-stylebg=black,fg=whiteset-g status-left"[#S] "set-g status-right"%Y-%m-%d %H:%M"# 分屏快捷键更直观bind|split-window -h -c"#{pane_current_path}"bind- split-window -v -c"#{pane_current_path}"# vim风格的面板切换bindh select-pane -Lbindj select-pane -Dbindk select-pane -Ubindl select-pane -R# 快速重载配置bindr source-file ~/.tmux.conf\;display"配置已重载"# 复制模式用vi键位setw -g mode-keysvi

改完后重载:

tmux source-file ~/.tmux.conf# 或者在tmux里按 Ctrl+b :source-file ~/.tmux.conf

复制粘贴

这是tmux里比较麻烦的地方。

方法1:鼠标复制(开启mouse后)

按住Shift,用鼠标选中,然后用系统的复制(Ctrl+Shift+C或Cmd+C)。

方法2:tmux复制模式

# 进入复制模式Ctrl+b[# 用方向键或vim键位移动# 按空格开始选择# 按回车复制# 粘贴Ctrl+b]

方法3:和系统剪贴板同步

Linux(需要xclip):

# ~/.tmux.confbind-T copy-mode-vi y send-keys -X copy-pipe-and-cancel"xclip -selection clipboard"

macOS:

# ~/.tmux.confbind-T copy-mode-vi y send-keys -X copy-pipe-and-cancel"pbcopy"

持久化会话

tmux的会话在服务器重启后会丢失。如果需要持久化,用tmux-resurrect插件。

安装TPM(插件管理器)

gitclone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

配置插件

# ~/.tmux.conf 末尾添加# 插件set-g @plugin'tmux-plugins/tpm'set-g @plugin'tmux-plugins/tmux-resurrect'set-g @plugin'tmux-plugins/tmux-continuum'# 自动保存和恢复set-g @continuum-restore'on'set-g @continuum-save-interval'15'# 初始化TPMrun'~/.tmux/plugins/tpm/tpm'

重载配置后按Ctrl+b I安装插件。

之后:

  • Ctrl+b Ctrl+s- 保存会话
  • Ctrl+b Ctrl+r- 恢复会话

和screen的比较

另一个常用的终端复用工具是screen,对比一下:

特性tmuxscreen
分屏方便麻烦
配置灵活简单
状态栏好看简陋
脚本化
默认安装

推荐用tmux,功能更强。但如果服务器只有screen,基本用法差不多:

# screen基本操作screen# 创建screen-S name# 创建命名会话Ctrl+a d# 断开screen-r name# 恢复screen-ls# 列出会话

快速参考

# 会话tmux new -s name# 新建tmuxls# 列出tmux a -t name# 连接tmux kill-session -t name# 删除# 在tmux内Ctrl+b d# 断开Ctrl+b s# 切换会话Ctrl+b c# 新窗口Ctrl+b n/p# 切换窗口Ctrl+b %# 左右分屏Ctrl+b "# 上下分屏Ctrl+b 方向键# 切换面板Ctrl+b z# 最大化面板Ctrl+b x# 关闭面板Ctrl+b[# 复制模式Ctrl+b ?# 帮助

tmux用熟了会上瘾。SSH连服务器第一件事就是tmux a,断网也不怕任务挂。

核心就三个操作:创建会话、分屏、断开/恢复。其他的用到再学。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 16:12:03

risc-v五级流水线cpu实时控制性能分析:全面讲解

RISC-V五级流水线CPU如何扛起实时控制大旗?从原理到实战的深度拆解你有没有遇到过这样的场景:电机控制中PWM波突然抖动,闭环响应出现微小延迟;或是传感器数据采样时刻不一致,导致滤波算法失效?这些问题背后…

作者头像 李华
网站建设 2026/4/16 14:28:14

YOLOv10性能评测:在RTX 4090上能达到多少FPS?

YOLOv10性能评测:在RTX 4090上能达到多少FPS? 在智能制造、城市安防和自动驾驶等前沿领域,实时目标检测的“快”与“准”正面临前所未有的挑战。传统模型虽然精度不俗,但一旦进入高密度目标场景——比如繁忙的交通路口或多缺陷并存…

作者头像 李华
网站建设 2026/4/16 14:06:42

YOLO系列演进史:从学术研究到工业落地的完整路径

YOLO系列演进史:从学术研究到工业落地的完整路径 在智能制造车间的一条高速SMT贴片生产线上,每分钟有上千个电路板经过视觉检测工位。传统人工质检早已无法匹配这样的节奏——不仅效率跟不上,还容易因疲劳导致漏检。而如今,一套搭…

作者头像 李华
网站建设 2026/4/16 12:29:16

YOLO推理服务支持蓝绿部署,升级零中断

YOLO推理服务支持蓝绿部署,升级零中断 在智能制造工厂的质检线上,摄像头正以每秒30帧的速度捕捉产品图像,YOLO模型实时判断是否存在划痕或装配缺陷。突然,系统提示“模型正在更新”,画面卡顿两秒——这短短的停顿可能…

作者头像 李华
网站建设 2026/4/16 12:27:55

YOLO目标检测模型增量学习实践:持续进化能力

YOLO目标检测模型增量学习实践:持续进化能力 在智能工厂的产线旁,一台视觉检测设备正高速运转——它已经准确识别了成千上万个标准零件,突然,一个新型号的产品被送入流水线。系统瞬间陷入“认知危机”:这个从未见过的物…

作者头像 李华
网站建设 2026/4/16 14:04:53

YOLO模型支持Winlogbeat Windows事件日志采集

YOLO模型与Winlogbeat:构建跨模态智能监控体系 在智能制造工厂的中央控制室里,警报突然响起——视频分析系统标记出“未经授权人员进入高压设备区”,几乎同时,日志平台弹出一条高危事件:“某工控机发生远程桌面登录”。…

作者头像 李华