当前位置: 首页 > news >正文

tmux 使用教程

1. 什么是 tmux

tmux 是一个 终端复用器(terminal multiplexer)。
它允许你在一个终端里运行多个会话(session)、窗口(window)、面板(pane),并且支持:

  • 断开与重连:即使 SSH 连接断开,任务仍然继续运行。
  • 多窗口管理:一个终端里像“标签页”一样切换窗口。
  • 分屏功能:横向或纵向分割终端窗口。
  • 团队协作:多人共享同一个会话。

tmux_with_panes


2. 基本概念

  • Session(会话):tmux 的最外层单位,可以理解为一个“工作区”。
  • Window(窗口):一个会话里可以包含多个窗口,每个窗口对应一个虚拟终端。
  • Pane(面板):一个窗口可以分割成多个面板,类似于分屏。

关系:
一个 tmux → 多个 Session → 每个 Session 包含多个 Window → 每个 Window 可以有多个 Pane


3. 安装 tmux

Debian / Ubuntu

sudo apt update
sudo apt install tmux

Fedora / CentOS

sudo dnf install tmux   # Fedora
sudo yum install tmux   # CentOS

macOS(使用 Homebrew)

brew install tmux

4. 会话管理

快捷键/命令 功能
tmux ls 列出所有会话
tmux 新建会话,默认会话名字是数字编号
tmux new -s <name> 新建会话,简写tmux a -t <name>
tmux kill-session -t <name> 杀掉指定会话
tmux kill-server 杀掉所有会话
C-b $ 重命名当前会话
C-b s 列出所有会话并可以上下选择,并回车进入
C-b d 分离(detach)当前会话

5. 窗口管理

快捷键 功能
C-b c 创建新窗口
C-b & 杀掉当前窗口
exit 或者 Ctrl+d 杀掉当前窗口,如果有多个面板会先退出面板
C-b , 重命名当前窗口
C-b n 下一个窗口
C-b p 上一个窗口
C-b l 切换到之前的窗口
C-b 0-9 切换到对应编号窗口
C-b ' 输入窗口编号切换
C-b i 显示窗口信息

6. 面板(分屏)管理

快捷键 功能
C-b " 垂直分割面板(上下)
C-b % 水平分割面板(左右)
C-b xexit 或者 C-d 杀掉当前面板
C-b o 切换到下一个面板
C-b ; 切换到上一个活动面板
C-b ↑↓←→ 方向键切换面板
C-b { 与上方面板交换
C-b } 与下方面板交换
C-b z 放大/缩小当前面板(zoom)
C-b ! 将当前面板拆分为新窗口
C-b q 显示面板编号

面板调整大小(推荐快捷键)

快捷键 功能
C-b C-Up 向上微调面板高度(Ctrl+↑)
C-b C-Down 向下微调面板高度(Ctrl+↓)
C-b C-Left 向左微调面板宽度(Ctrl+←)
C-b C-Right 向右微调面板宽度(Ctrl+→)

7. 查找与信息

快捷键 功能
C-b f 搜索面板(pane)
C-b t 显示时钟
C-b ? 显示所有快捷键,q退出

8. 鼠标滚动与复制

鼠标滚动

tmux默认是无法在窗口中使用鼠标滚动的,可以通过修改~/.tmux.conf(没有的话需要新建)来支持鼠标

set -g mouse on

设置后通过tmux source-file ~/.tmux.conf来生效。

复制

快捷键 功能
C-b [ 进入复制模式(可滚屏查看历史)
C-b ] 粘贴最近的 buffer
C-b # 列出所有 paste buffer
C-b = 从列表选择 paste buffer

💡 复制模式中:

  • / PgUp / PgDn 翻页
  • Space 开始选区,Enter 复制选区

我在使用xshll 8测试,结果复制功能无法使用,暂不清楚原因。

可以参考tmux中的复制粘贴的文章尝试。


9. 使用场景

  • 远程编译/运行程序:SSH 断线不会中断任务。
  • 多任务并行:同一屏幕多个面板查看日志、运行服务。
  • 长期后台运行:服务器维护必备工具。
http://www.wxhsa.cn/company.asp?id=1414

相关文章:

  • 引用类型
  • CF1237C2
  • 力扣215. 数组中的第K个最大元素
  • 设计模式-桥接模式 - MaC
  • linux环境docker离线镜像elasticsearch-7.17.3镜像资源
  • Python 降序排序:轻松搞定列表、字典和自定义对象
  • 第02周 预习、实验与作业:Java基础语法2、面向对象入门
  • part 4
  • systemctl的service脚本写法
  • 9月份美联储的降息利好
  • 口胡记录
  • Day16内存分析及初始化
  • leveldb源码分析 #1 Slice WriteBatch WriteBatchInternal 【work记录】
  • 欧拉安装
  • 2025实测:6款主流公众号编辑器大比拼,解决你的排版难题!
  • 设计模式-适配器模式 - MaC
  • devc学C语言
  • HarmonyOS 5.1手势事件详解
  • Vue3项目中集成AI对话功能的实战经验分享
  • gulimall出现服务间调用org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClient.choose 问题
  • Java02课前问题列表
  • 达梦数据库安装和使用
  • CSP 赛前周记
  • Ubuntu 界面变为 Mac
  • Day16对数组的基本认识
  • PVE9环境下飞牛OS安装vGPU驱动
  • 02020304 .NET Core核心基础组件04-配置系统、Json文件配置、选项方式读取、扁平化环境变量其它配置源
  • md格式
  • CSP-S模拟20