尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Linux 神器 tmux 超详细入门教程:会话持久化 + 多窗口管理一网打尽

Linux 神器 tmux 超详细入门教程:会话持久化 + 多窗口管理一网打尽
📅 发布时间:2026/7/8 2:10:08

1. 命令简介

tmux 是一个优秀的终端复用器(Terminal Multiplexer)。它允许用户在一个终端窗口中创建、访问和控制多个独立的终端会话(会话)、窗口和窗格。其核心价值在于,即使网络连接中断或关闭本地终端,运行在 tmux 会话中的进程也会继续在后台执行,用户可以随时重新连接(attach)到这些会话,恢复工作现场。

主要特点:

  • 会话持久化:服务器端运行,不受客户端连接断开的影响。
  • 多窗口与窗格:支持水平、垂直分割屏幕,高效管理多个终端任务。
  • 灵活的配置:可通过配置文件(~/.tmux.conf)高度自定义快捷键、状态栏等。
  • 协作功能:支持多个用户同时连接到同一个会话,进行结对编程或演示。

2. 语法格式

基本语法:

plaintext

tmux [command] [flags] tmux [flags] [command [args]]

常用形式:

plaintext

tmux tmux new -s session_name tmux attach -t session_name tmux ls

参数说明:

  • command:指定要执行的子命令,如 new(新建会话)、attach(连接会话)、ls(列出会话)等。如果不提供任何命令,tmux 默认行为是 new-session。
  • flags:全局选项或命令选项,用于修改命令行为。
  • args:传递给特定命令的参数。

3. 常用选项及说明

全局选项(启动 tmux 时使用)

表格

选项简写说明
-L socket-name—指定使用的 tmux 服务器套接字名称。允许多个独立的 tmux 服务器实例。
-f file—指定替代的配置文件(默认为~/.tmux.conf)。
-2—强制 tmux 假设终端支持 256 色。
-u—告诉 tmux 终端支持 UTF-8。
-V—显示 tmux 版本信息。

常用子命令

表格

命令简写说明
new-sessionnew创建一个新的 tmux 会话。
attach-sessionattach, a连接到一个已存在的、处于脱离(detached)状态的会话。
list-sessionsls列出所有 tmux 会话。
kill-session—杀死指定的会话。
kill-server—杀死 tmux 服务器及其所有会话。
rename-session—重命名当前或指定的会话。
switch-clientswitchc切换已连接的客户端到另一个会话。

new-session 常用选项

表格

选项简写说明
-s session-name—为新会话指定一个名称。
-n window-name—为初始窗口指定一个名称。
-d—不自动连接(attach)到新会话,在后台创建。
-c start-directory—设置会话中窗口的起始工作目录。

attach-session 常用选项

表格

选项简写说明
-t target-session—指定要连接的目标会话名称或编号。

4. 示例用法

4.1 基础会话管理

启动一个新的匿名会话:

plaintext

tmux

启动一个命名会话:

plaintext

tmux new -s mywork

在后台启动一个会话(不自动连接):

plaintext

tmux new -s daemon_session -d

列出所有会话:

plaintext

tmux ls # 或 tmux list-sessions

输出示例:

plaintext

0: 1 windows (created Tue May 14 10:00:00 2024) mywork: 2 windows (created Tue May 14 09:30:00 2024)

连接到指定会话:

plaintext

tmux attach -t mywork # 简写 tmux a -t mywork

从会话中脱离(返回原 Shell):

在 tmux 会话中,按下默认前缀键 Ctrl+b,然后按 d。

重命名当前会话:

在 tmux 会话中,按下 Ctrl+b,然后按 $,输入新名称后回车。 或在命令行执行:tmux rename-session -t old_name new_name

结束一个会话:

plaintext

tmux kill-session -t session_name

4.2 在脚本中使用

创建一个后台会话并运行命令:

plaintext

# 创建一个名为‘monitor’的后台会话,并在其中运行 top 命令 tmux new-session -d -s monitor 'top' # 稍后可以连接查看 tmux attach -t monitor

在指定目录启动会话:

plaintext

tmux new-session -s project -c ~/projects/myapp

5. 注意事项

  • 前缀键(Prefix Key):tmux 的所有快捷键都需要先按一个前缀键(默认为 Ctrl+b),松开后再按功能键。这是为了避免与终端或应用程序本身的快捷键冲突。
  • 配置生效:修改~/.tmux.conf 配置文件后,需要重启 tmux 服务器(tmux kill-server)或在会话中按 Ctrl+b 然后输入 :source-file ~/.tmux.conf 来重新加载配置。
  • 嵌套使用:尽量避免在 tmux 会话中再启动另一个 tmux(嵌套)。虽然技术上可行,但会导致快捷键冲突和管理混乱。通常使用创建新窗口或窗格来替代。
  • 会话恢复:即使关闭了终端或 SSH 连接,tmux 服务器及其会话仍在远程主机上运行。重新登录后,使用 tmux attach 即可恢复工作。
  • 滚动和复制:
    • 要滚动查看历史输出,进入复制 / 滚动模式:按下前缀键(默认为 Ctrl+b),然后按 [ 键。在此模式下,可以使用箭头键、Page Up/Page Down 滚动,按 q 退出。
    • 复制文本:进入复制模式后,使用方向键或鼠标(如果启用)选择文本,然后按 Enter 复制到缓冲区。粘贴时,按下前缀键后按 ] 键。

获取更多Linux学习资料请关注“阿成学长工具包”,对话框中输入2647获取

相关新闻

  • React Loadable:给 React 应用做代码分割的老牌方案
  • PyTorch 2.0 静态量化实战:ResNet-18 模型大小压缩 75%,推理速度提升 3 倍
  • 研究生招生专业目录 API 接口

最新新闻

  • 计网-如何理解冲突域和广播域
  • AI Agent 会自己选 CDN 了:当网站访问者从 “人” 扩展到 “AI”,内容分发已升级
  • 2026重庆重罪辩护刑事律师服务场景适配分析
  • Memcached 1.6.44 发布:安全修复版本,解决多项问题!
  • Anthropic开源J-Lens:读出Claude“内心想法”,揭示其类似人类意识的结构
  • AI智能体大规模上岗倒计时!2026年这些岗位将遭“取代”,哪些人将迎来黄金时代?

日新闻

  • PROPKA 3深度解析:蛋白质pKa预测的实战指南与算法原理
  • 微信小程序 globalData 监听:基于 Object.defineProperty 的 3 种实现方案对比
  • MySQL 8.0 数据清洗实战:3类异常值识别与 UPDATE/DELETE 批量处理

周新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号