news 2026/3/27 1:33:10

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/3/23 15:50:24

YOLO模型支持Grafana可视化仪表盘集成

YOLO模型与Grafana可视化监控的深度集成实践 在智能制造车间里,一台AOI(自动光学检测)设备突然开始漏检微小焊点缺陷。运维人员赶到现场重启服务后问题暂时消失,但三天后再次复发——直到他们打开Grafana仪表盘,才发现…

作者头像 李华
网站建设 2026/3/23 9:59:24

YOLO模型镜像支持GPU Core Clock锁定,性能稳定

YOLO模型镜像支持GPU Core Clock锁定,性能稳定 在现代工业视觉系统中,一个看似微小的延迟波动,可能直接导致整条产线停机。比如某SMT工厂使用YOLOv5进行元器件缺失检测时,原本设计为8ms完成一帧推理,却在运行一段时间后…

作者头像 李华
网站建设 2026/3/25 11:38:50

YOLO训练日志异常检测:自动发现GPU硬件故障

YOLO训练日志异常检测:自动发现GPU硬件故障 在现代AI工厂的深夜机房里,一组GPU集群正全力运行着YOLOv8模型,为次日的工业质检任务做准备。突然,某个节点的训练损失开始不规则震荡——不是数据问题,也不是超参设置失误&…

作者头像 李华
网站建设 2026/3/23 17:47:34

彼得林奇的“逆向思维“在新兴市场宏观分析中的运用

彼得林奇的“逆向思维”在新兴市场宏观分析中的运用关键词:彼得林奇、逆向思维、新兴市场、宏观分析、投资策略摘要:本文深入探讨了彼得林奇的逆向思维在新兴市场宏观分析中的运用。首先介绍了研究的背景、目的、预期读者等内容,明确了文档结…

作者头像 李华
网站建设 2026/3/24 19:55:39

YOLO安防监控实战:低功耗GPU也能跑高精度模型

YOLO安防监控实战:低功耗GPU也能跑高精度模型 在城市地铁站的深夜走廊里,一个模糊的身影悄然翻越围栏——传统监控系统或许要等数小时后才被人工发现,而如今,一台搭载RTX A2000显卡的边缘服务器却能在3秒内完成识别、截图告警并推…

作者头像 李华
网站建设 2026/3/25 19:44:00

YOLOv10-Scale发布:自适应分辨率GPU推理引擎

YOLOv10-Scale发布:自适应分辨率GPU推理引擎 在智能工厂的质检线上,一台搭载YOLO模型的视觉系统正高速运转。当传送带空载时,它以极低功耗维持监控;而一旦密集排列的电路板进入视野,系统瞬间提升图像分辨率&#xff0c…

作者头像 李华