Linux tmux 命令:终端复用与会话管理神器

举报
yd_232564628 发表于 2026/10/01 09:50:01 2026/10/01
【摘要】 tmux (Terminal Multiplexer) 是 Linux 命令行工作者的"效率倍增器"。它的核心价值在于会话持久化——即使你关闭终端、断开 SSH 连接,tmux 中运行的程序依然会在后台继续执行,下次连接时一键恢复原状。这对于跑长时间任务(编译、训练模型、数据迁移)的场景来说是刚需。 最基础的用法tmux执行后你会进入一个新的 tmux 会话,底部会出现一条状态栏显示会话名称...

tmux (Terminal Multiplexer) 是 Linux 命令行工作者的"效率倍增器"。它的核心价值在于会话持久化——即使你关闭终端、断开 SSH 连接,tmux 中运行的程序依然会在后台继续执行,下次连接时一键恢复原状。这对于跑长时间任务(编译、训练模型、数据迁移)的场景来说是刚需。

最基础的用法

tmux

执行后你会进入一个新的 tmux 会话,底部会出现一条状态栏显示会话名称(如 [0] 0:bash*)。此时你就像在普通终端中一样操作,但已经获得了"断线保护"的能力。

实际使用中,高频场景与命令组合

1. 会话管理

创建命名会话:

tmux new -s myproject

列出所有会话:

tmux list-sessions

或简写为 tmux ls,查看当前有哪些后台会话在运行。

分离当前会话(detach):

按下 Ctrl+b 然后按 d,会话会在后台继续运行,你回到普通终端。

重新接入会话(attach):

tmux attach -t myproject

瞬间恢复之前的工作状态,所有窗口、分屏、运行的程序都原封不动。

2. 窗格(Pane)操作 —— 分屏显示

tmux 允许将一个窗口拆分成多个窗格,每个窗格独立运行命令。

  • 垂直分屏: Ctrl+b 然后按 %
  • 水平分屏: Ctrl+b 然后按 "
  • 在窗格间切换: Ctrl+b 然后按方向键
  • 关闭当前窗格: 输入 exit 或按 Ctrl+d

典型场景:左边跑 tail -f /var/log/nginx/access.log 实时监控日志,右边执行 curl 触发请求,即时观察响应。

3. 窗口(Window)操作 —— 多标签页

  • 新建窗口: Ctrl+b 然后按 c
  • 切换到下一个窗口: Ctrl+b 然后按 n
  • 切换到上一个窗口: Ctrl+b 然后按 p
  • 列出所有窗口: Ctrl+b 然后按 w(可用方向键选择)

每个窗口可以有自己的分屏布局,适合管理多个项目或任务。

4. 滚动与复制模式

tmux 中无法直接用鼠标滚轮查看历史输出,需要进入复制模式:

  • 进入复制模式: Ctrl+b 然后按 [
  • 用方向键或 PageUp/PageDown 滚动
  • 按 q 退出复制模式

5. 自定义配置

tmux 的默认快捷键(Ctrl+b)和外观可以通过 ~/.tmux.conf 文件定制。一个常见的优化是将前缀键改为 Ctrl+a(更符合直觉),并开启鼠标支持:

# ~/.tmux.conf
set -g prefix C-a
unbind C-b
bind C-a send-prefix

# 开启鼠标支持(可以滚轮滚动、点击切换窗格)
set -g mouse on

# 设置状态栏颜色
set -g status-bg colour235
set -g status-fg white

修改后执行 tmux source-file ~/.tmux.conf 即可生效。

如果不知道如何下手,可以先尝试

tmux new -s demo

进入后按 Ctrl+b 再按 % 分屏,左边跑 top,右边跑 htop,然后按 Ctrl+b 再按 d 分离。执行 tmux ls 确认会话在后台,再执行 tmux attach -t demo 恢复。走完这一套流程,你就掌握了 tmux 的核心工作流。
或者,如果你只是想快速保护一个正在运行的命令,可以在任意终端中按下 Ctrl+b d,之后用 tmux attach 找回它。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。