跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
博客列表
Shell / Bash

Tmux 终端复用工具指令与配置详解

Tmux 作为终端复用工具,允许在单个终端窗口中创建多个会话。核心功能包括会话管理、窗口与窗格操作、复制模式及自定义配置。掌握基本快捷键如 Ctrl+b d 分离会话、Ctrl+b % 分割窗格,结合 .tmux.conf 配置可实现批量命令执行与环境快速搭建。常见 SSH 断开问题可通过 tmux attach 解决。

嘘发布于 2025/11/8更新于 2026/4/274 浏览

一、Tmux 概述

1.1 Tmux 介绍

Tmux (Terminal Multiplexer) 是一个强大的终端复用工具,允许用户在单个终端窗口中创建、访问和控制多个终端会话。

1.2 Tmux 安装

Ubuntu/Debian

sudo apt-get install tmux

CentOS/RHEL

sudo yum install tmux

macOS (Homebrew)

brew install tmux

1.3 基本概念

  • 会话 (Session):一组窗口的集合,可以随时断开和重新连接
  • 窗口 (Window):相当于一个标签页,包含一个或多个窗格
  • 窗格 (Pane):窗口中的实际终端区域,可以水平或垂直分割

二、基本使用

2.1 会话操作

命令/快捷键说明
tmux启动新会话
tmux new -s <name>创建命名会话
tmux ls列出所有会话
tmux attach -t <name>重新连接会话
tmux kill-session -t <name>终止指定会话
Ctrl+b d分离当前会话 (保持后台运行)

2.2 窗口操作

快捷键说明
Ctrl+b c创建新窗口
Ctrl+b &关闭当前窗口
Ctrl+b n切换到下一个窗口
Ctrl+b p切换到上一个窗口
Ctrl+b <number>切换到指定编号窗口
Ctrl+b ,重命名当前窗口

2.3 窗格操作

快捷键说明
Ctrl+b %垂直分割窗格
Ctrl+b "水平分割窗格
Ctrl+b <arrow>在窗格间移动
Ctrl+b x关闭当前窗格
Ctrl+b z放大/缩小当前窗格
Ctrl+b Space切换窗格布局
Ctrl+b Alt+<arrow>调整窗格大小

三、高级功能

3.1 复制模式

  1. 进入复制模式:Ctrl+b [
  2. 使用方向键移动光标
  3. 按 Space 开始选择,Enter 复制
  4. 粘贴:Ctrl+b ]

3.2 会话共享

# 用户 A 创建会话
tmux new -s shared
# 用户 B 连接到同一会话
tmux attach -t shared

3.3 自定义配置 (~/.tmux.conf)

# 设置前缀键为 Ctrl+a
unbind C-b
set -g prefix C-a
bind C-a send-prefix
# 启用鼠标支持
set -g mouse on
# 设置状态栏
set -g status-bg blue
set -g status-fg white
# 重新加载配置
bind r source-file ~/.tmux.conf \; display "Reloaded!"

3.4 实用技巧

批量执行命令:

tmux list-panes -s -F '#{pane_id}' | xargs -I {} tmux send-keys -t {} 'command' C-m

保存和恢复会话:

# 保存
tmux list-windows -a -F "#S:#W:#{pane_current_path}" > ~/tmux-sessions.txt
# 恢复
while IFS=: read -r session window dir; do
  tmux new-window -d -t "$session" -n "$window" -c "$dir"
done < ~/tmux-sessions.txt

快速创建开发环境:

tmux new -s dev -n editor \; send-keys 'vim' C-m \; split-window -v \; send-keys 'htop' C-m \; split-window -h \; send-keys 'watch -n 1 df -h' C-m

四、常见问题解决

SSH 断开后会话丢失: 使用 tmux 或 screen 保持会话:

ssh user@host -t 'tmux attach || tmux new'

颜色显示异常: 确保终端支持 256 色:

set -g default-terminal "screen-256color"

鼠标滚动问题: 在 .tmux.conf 中添加:

set -g terminal-overrides 'xterm*:smcup@:rmcup@'

Tmux 的学习曲线可能有点陡峭,但一旦掌握,它能极大提高终端工作效率。建议从基本会话管理开始,逐步尝试窗格分割和自定义配置。

目录

  1. 一、Tmux 概述
  2. 1.1 Tmux 介绍
  3. 1.2 Tmux 安装
  4. 1.3 基本概念
  5. 二、基本使用
  6. 2.1 会话操作
  7. 2.2 窗口操作
  8. 2.3 窗格操作
  9. 三、高级功能
  10. 3.1 复制模式
  11. 3.2 会话共享
  12. 用户 A 创建会话
  13. 用户 B 连接到同一会话
  14. 3.3 自定义配置 (~/.tmux.conf)
  15. 设置前缀键为 Ctrl+a
  16. 启用鼠标支持
  17. 设置状态栏
  18. 重新加载配置
  19. 3.4 实用技巧
  20. 保存
  21. 恢复
  22. 四、常见问题解决
  • 💰 8折买阿里云服务器限时8折了解详情
  • 💰 8折买阿里云服务器限时8折购买
  • 🦞 5分钟部署阿里云小龙虾了解详情
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • DeepSeek 时代:前端开发的变革与实战指南
  • Java 面向对象三大特性详解:封装、继承与多态
  • 2026 年协作机器人十大品牌技术解析与选型指南
  • MATLAB 实现基于多目标粒子群算法(MOPSO)的无人机三维路径规划
  • Python 深度学习:ResNext 网络核心原理与分组卷积解析
  • Java 后端 Web API 开发全流程实战
  • 无人机避障算法核心技术:五种主流算法原理与实战应用场景
  • GLM-4.7 与 MiniMax-M2.1 大模型性能实测对比
  • 基于 XGBoost 与 SHAP 的回归预测可解释性分析及可视化
  • 基于 Spring Cloud 的分布式智能推荐系统架构与实战
  • Ollama 本地大模型部署与使用指南
  • Langchain-Chatchat 基于 LLM 构建本地智能知识库部署指南
  • 大语言模型 LLM 核心技术及应用场景分析
  • WebGIS 开发工程师成长指南
  • Stable Diffusion WebUI 本地部署教程
  • SimPO 大模型对齐算法原理与 ms-swift 实践
  • Python 实现月相计算与可视化系统
  • LLM Agent 中 RAG 与模型智能的平衡:幻觉检测与校准方案
  • Vue 组件开发中的枚举值验证:从 Type 属性错误说起
  • Whisper-CTranslate2 高性能语音识别方案

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online