mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6
1796 字
5 分钟
Ubuntu Tmux 命令完全指南:终端复用器的终极利器

Ubuntu Tmux 命令完全指南:终端复用器的终极利器#

作为一名开发者或系统管理员,你是否经常需要同时管理多个终端窗口?是否曾因 SSH 连接中断而丢失正在进行的工作?是否希望拥有一个持久化的终端会话,随时随地重新连接?Tmux 正是解决这些痛点的利器。

Tmux(Terminal Multiplexer)是一个功能强大的终端复用器,它允许你在单个终端窗口中创建多个独立的会话、窗口和窗格,并且支持会话的分离与重新连接。本文将全面介绍 Tmux 的安装、核心概念、常用命令以及个性化配置,帮助你在 Ubuntu 上充分发挥其威力。

1. Tmux 安装#

在 Ubuntu 上安装 Tmux 非常简单,打开终端执行:

sudo apt update
sudo apt install tmux
安装完成后,可以通过以下命令验证版本:
```bash
tmux -V

2. 基本概念#

在使用 Tmux 之前,先了解它的三个核心层次结构:

  • 会话(Session):最高层,一个会话可以包含多个窗口。你可以将每个会话理解为一个独立的工作空间。
  • 窗口(Window):会话中的标签页,类似于浏览器的标签页。每个窗口有自己的内容,可以独立切换。
  • 窗格(Pane):窗口被分割成的多个区域,每个窗格运行一个独立的终端进程。

这三者关系如下:

会话 (Session)
├── 窗口 (Window 1)
│ ├── 窗格 (Pane 1)
│ └── 窗格 (Pane 2)
└── 窗口 (Window 2)
└── 窗格 (Pane 1)

3. 启动与基本操作#

3.1 启动新会话#

直接输入 tmux 会创建一个默认名称的会话(通常是数字编号),并进入 Tmux 环境。

如果你想要自定义会话名称:

tmux new -s mysession

此时屏幕底部会出现一个绿色的状态栏,说明你已经在 Tmux 中。

3.2 前缀键#

Tmux 的所有快捷键都需要先按一个前缀键,默认为 Ctrl+b。例如,Ctrl+b 后按 % 会垂直分割窗格。接下来我们提到的快捷键都默认在此之前按下 Ctrl+b

3.3 分离会话(Detach)#

在会话内部,按下 Ctrl+b 再按 d,可以暂时离开会话,返回到普通终端。会话及其中的所有窗口、窗格都会在后台继续运行。

3.4 列出会话#

重新连接到其他会话前,需要先查看现有会话:

tmux ls
# 或
tmux list-sessions

输出示例:

mysession: 2 windows (created Sat Mar 22 10:00:00 2026)
0: 1 windows (created Sat Mar 22 09:30:00 2026)

3.5 重新连接会话#

  • 重新连接到最后一个使用的会话:tmux attach
  • 连接到指定名称的会话:tmux attach -t mysession
  • 连接到指定编号的会话:tmux attach -t 0

3.6 杀死会话#

不再需要某个会话时,可以彻底关闭它:

tmux kill-session -t mysession

如果当前在会话内部,也可以使用快捷键 Ctrl+b 然后输入 :kill-session 并回车。

4. 窗口管理#

一个会话中可以包含多个窗口,每个窗口相当于一个独立的虚拟终端。

操作快捷键
新建窗口Ctrl+b c
重命名当前窗口Ctrl+b ,
关闭当前窗口Ctrl+b &(确认后关闭)
切换到下一个窗口Ctrl+b n
切换到上一个窗口Ctrl+b p
按序号切换窗口Ctrl+b 0Ctrl+b 9
列出所有窗口Ctrl+b w(可用方向键选择)
在窗口间搜索Ctrl+b f(输入窗口名关键字)

5. 窗格管理#

窗格允许你将一个窗口分割成多个子区域,实现多任务并行操作。

操作快捷键
垂直分割窗格Ctrl+b %
水平分割窗格Ctrl+b "
切换活动窗格Ctrl+b o(依次切换)或 Ctrl+b 方向键
调整窗格大小Ctrl+b Ctrl+方向键(微调)
最大化/还原当前窗格Ctrl+b z(再次按恢复)
关闭当前窗格Ctrl+b x(确认后关闭)
显示窗格编号Ctrl+b q(短暂显示)
将当前窗格转换为窗口Ctrl+b !
在窗格间移动(交互式)Ctrl+b q 后按数字键跳转

6. 复制模式与滚动#

Tmux 默认不支持鼠标滚动查看历史输出,需要进入复制模式。

  • 进入复制模式:Ctrl+b [
  • 在复制模式中,可以使用 PgUp / PgDnj / k 等 vim 风格键移动光标。
  • 选择文本:按 Space 开始选择,移动光标高亮文本,按 Enter 复制到剪贴板。
  • 粘贴内容:Ctrl+b ]

如果想启用鼠标支持(方便滚动和选择),可以在配置文件中添加 set -g mouse on

7. 常用 Tmux 命令#

除了快捷键,Tmux 也提供了丰富的命令行命令。在 Tmux 内部,可以通过 Ctrl+b : 进入命令模式,然后输入命令。常见命令包括:

  • new-window -n mywindow:创建一个名为 mywindow 的新窗口
  • split-window -h:垂直分割当前窗格(等同于 %
  • select-window -t 2:切换到第 3 个窗口(索引从 0 开始)
  • resize-pane -D 5:将当前窗格向下扩大 5 行
  • kill-pane:关闭当前窗格

这些命令也可以直接通过 tmux 命令在外部执行,例如:

tmux new-window -t mysession:2

8. 自定义配置文件#

Tmux 的配置文件位于 ~/.tmux.conf。通过修改它,可以改变快捷键、主题、状态栏等。下面给出一个常用配置示例:

# 设置前缀键为 Ctrl+a(可选,避免与 Ctrl+b 冲突)
set -g prefix C-a
unbind C-b
bind C-a send-prefix
# 启用鼠标支持
set -g mouse on
# 设置状态栏颜色和样式
set -g status-bg black
set -g status-fg white
set -g status-left " #[fg=green]#S "
# 将分割快捷键改为更直观的 | 和 -
bind | split-window -h
bind - split-window -v
# 使用 vim 风格窗格切换
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# 重新加载配置文件
bind r source-file ~/.tmux.conf \; display "Reloaded!"

修改配置文件后,可以通过 tmux source-file ~/.tmux.conf 重新加载,或按 Ctrl+b r(如果配置了上述重载快捷键)。

9. 高级技巧#

9.1 保存与恢复会话#

Tmux 本身不支持直接保存会话布局,但可以借助第三方插件如 tmux-resurrecttmux-continuum 来实现会话的自动保存与恢复。

安装方法(使用 Tmux Plugin Manager):

git clone 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'
run '~/.tmux/plugins/tpm/tpm'

保存后按 Ctrl+b I 安装插件。之后,Ctrl+b s 保存会话,Ctrl+b r 恢复会话。

9.2 同时发送命令到所有窗格#

有时需要在所有窗格中执行相同的命令(例如批量部署),可以使用:

Ctrl+b : setw synchronize-panes on

再次执行该命令关闭同步模式。

9.3 使用脚本启动工作环境#

可以编写 shell 脚本自动创建多个窗口和窗格,例如:

#!/bin/bash
tmux new-session -d -s dev
tmux send-keys -t dev 'cd ~/project' C-m
tmux split-window -h -t dev
tmux send-keys -t dev 'htop' C-m
tmux attach -t dev

10. 常见问题与解决#

问题解决方法
忘记前缀键查看状态栏最左侧通常会显示当前会话名,不记得前缀可查看 ~/.tmux.conf
无法使用鼠标滚动在配置文件中添加 set -g mouse on 并重新加载
终端颜色显示异常添加 set -g default-terminal "screen-256color" 到配置文件
快捷键冲突(如 Ctrl+b 与 bash 的向后删除)更换前缀键,或习惯使用

11. 总结#

Tmux 是终端用户不可或缺的效率工具,它让终端会话持久化、窗口管理灵活化、多任务操作并行化。本文涵盖了 Tmux 的基础到进阶用法,从安装、基本操作到自定义配置,希望能帮助你快速上手并发挥其最大价值。

掌握 Tmux 后,你将不再惧怕 SSH 断线,不再需要开启几十个终端标签页,工作流将更加流畅高效。

延伸阅读:

Happy tmuxing! 🚀

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Ubuntu Tmux 命令完全指南:终端复用器的终极利器
http://blog.mcstarland.top/posts/tmux/
作者
MEMZGBL
发布于
2026-03-22
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

封面
Sample Song
Sample Artist
封面
Sample Song
Sample Artist
0:00 / 0:00