June 28, 2026
0 浏览量
技术学习

tmux 小白入门教程

tmux 小白入门教程

什么是 tmux?

tmux 是一个终端复用器(terminal multiplexer),简单说就是:让你在一个终端窗口里同时管理多个会话

它的核心价值在于:

  • SSH 断线不丢:在远程服务器上跑的任务,关掉电脑或网络断了也不会中断
  • 分屏操作:一个窗口同时看日志和敲命令
  • 多任务并行:同时开多个工作区,互不干扰

如果你有过这样的经历——编译到一半 SSH 断了,一切重来——那 tmux 就是你的救星。

安装

bash
1# Ubuntu / Debian
2apt install tmux
3
4# CentOS / RHEL
5yum install tmux
6
7# macOS
8brew install tmux

安装后验证:

bash
1tmux -V
2# 输出示例: tmux 3.2a

核心概念

tmux 有三层结构,理解了它们就理解了 tmux 的一切:

text
1tmux 服务器
2  └─ 会话 (session)   ← 你正在工作的一整块任务
3      └─ 窗口 (window)  ← 一个标签页
4          └─ 窗格 (pane) ← 一个分屏区域

打个比方:

  • 会话 = 一张办公桌(一个项目的工作环境)
  • 窗口 = 桌上的一个文件夹(一个任务,比如看日志)
  • 窗格 = 文件夹里的分格(正在执行的具体操作)

前缀键:tmux 的「施法前摇」

tmux 的所有快捷键都需要先按 前缀键,再按功能键。

默认前缀键是 Ctrl + b(按住 Ctrl,再按 b)。

操作步骤:

  1. 先松手
  2. Ctrl + b
  3. 松开所有键
  4. 再按功能键(比如 c 创建窗口)

你会看到很多教程写作 C-bPrefix,都是一个意思。

会话管理 — 最常用的操作

创建会话

bash
1# 创建无名会话
2tmux new
3
4# 创建有名字的会话(推荐)
5tmux new -s 会话名
6
7# 示例
8tmux new -s myproject

脱离会话(detach)— 关键操作

还在运行但想退出:

快捷键操作
C-b d脱离当前会话

脱离后,会话仍在后台运行,你可以安全地关掉终端。

重新连接(attach)

bash
1# 列出所有会话
2tmux ls
3
4# 重新连回指定会话
5tmux attach -t 会话名
6
7# 常用缩写
8tmux a -t 会话名

在会话内退出

bash
1exit
2# 或按 Ctrl + d

当会话里所有窗口都退出后,会话自动结束。

杀死会话

bash
1tmux kill-session -t 会话名
2
3# 杀死所有会话
4tmux kill-server

重命名会话

快捷键操作
C-b $重命名当前会话

窗口管理 — 就像浏览器标签页

快捷键操作
C-b c创建新窗口
C-b ,重命名当前窗口
C-b p上一个窗口
C-b n下一个窗口
C-b 0-9切换到指定编号的窗口
C-b w交互式选择窗口(上下键选)
C-b &关闭当前窗口

窗格分屏 — 一屏多用

快捷键操作
C-b %垂直分屏(左右)
C-b "水平分屏(上下)
C-b 方向键切换到相邻窗格
C-b q显示窗格编号(按编号快速跳转)
C-b z最大化/还原当前窗格(toggle)
C-b x关闭当前窗格
C-b 空格循环切换窗格布局
C-b {当前窗格左移
C-b }当前窗格右移
C-b !将当前窗格拆成独立窗口

调整窗格大小

快捷键操作
C-b Ctrl+方向键按方向调整大小
C-b Alt+方向键微调大小(1 个单位)

复制与粘贴

tmux 有自己的剪切板,和系统剪切板是独立的。

快捷键操作
C-b [进入复制模式(方向键移动)
空格开始选择文本
回车复制选中文本并退出
C-b ]粘贴复制的文本

小技巧:按住 Shift 再选文本,可以直接用系统剪切板(大部分终端支持)。

实用场景

场景 1:跑长时间任务

bash
1# 1. 创建会话
2tmux new -s compile
3
4# 2. 开始编译(比如编译内核)
5make
6
7# 3. 按 C-b d 脱离
8# 4. 关电脑走人
9# 5. 回来重新连
10tmux a -t compile
11# 编译还在跑!

场景 2:一边看日志一边操作

bash
1# 1. 创建会话
2tmux new -s debug
3
4# 2. 垂直分屏
5# 按 C-b %
6
7# 3. 左窗格用 tail 看日志
8tail -f /var/log/syslog
9
10# 4. 切换到右窗格(C-b 右方向键)
11# 敲命令测试
12curl http://localhost:8080

场景 3:同时打开多个项目

bash
1# 分别创建会话
2tmux new -d -s project-a
3tmux new -d -s project-b
4tmux new -d -s project-c
5
6# 查看所有会话
7tmux ls
8
9# 按需连接
10tmux a -t project-b

配置文件(~/.tmux.conf)

如果你不想每次都用默认的前缀键 C-b(小指太累了),可以自定义。

创建一个 ~/.tmux.conf 文件:

bash
1vim ~/.tmux.conf

以下是一个小白友好配置:

text
1# 把前缀键改为 C-a(按 Ctrl+a,小指不用那么累)
2set -g prefix C-a
3unbind C-b
4bind C-a send-prefix
5
6# 用更快的按键重载配置
7bind r source-file ~/.tmux.conf \; display "已重载配置"
8
9# 鼠标支持(点选窗格、拖动调整大小、滚轮翻页)
10set -g mouse on
11
12# 窗格编号从 1 开始(默认从 0)
13set -g base-index 1
14set -w pane-base-index 1
15
16# 增大滚动缓冲区(默认 2000 行)
17set -g history-limit 10000
18
19# 更直观的分屏键
20bind | split-window -h
21bind - split-window -v
22
23# 使用 Alt+方向键切换窗格(不用按前缀键了)
24bind -n M-Left select-pane -L
25bind -n M-Right select-pane -R
26bind -n M-Up select-pane -U
27bind -n M-Down select-pane -D
28
29# 状态栏美化
30set -g status-bg black
31set -g status-fg white
32set -g status-left ' #[fg=green] #S '
33set -g status-right ' #[fg=yellow] %H:%M '

保存后加载:

bash
1# 方法一:在 tmux 内按 C-b r
2# 方法二:手动执行
3tmux source-file ~/.tmux.conf

说明:这个配置文件的第一版可能会遇到 no current window 报错,见站内文章 tmux.conf 报错修复

常用命令速查表

命令说明
tmux new -s 名称创建命名会话
tmux ls列出所有会话
tmux a -t 名称重新连接会话
tmux kill-session -t 名称杀死会话
tmux kill-server杀死所有会话和服务
tmux new -d -s 名称在后台创建会话(不进入)
快捷键说明
C-b d脱离会话
C-b c新建窗口
C-b %垂直分屏
C-b "水平分屏
C-b 方向键切换窗格
C-b z最大化/还原窗格

以上默认 C-b 是前缀键,如果改成了 C-a 则相应替换。

总结

tmux 的核心用法就三句:

  1. tmux new -s 项目名 — 开始一个持久会话
  2. C-b d — 随时脱离,任务继续
  3. tmux a -t 项目名 — 回来继续

掌握了这些,你就可以告别 SSH 断线焦虑,开始享受分屏操作的高效了。

喜欢这篇文章吗?

分享给你的朋友和同事吧!

技术学习
Last updated: August 14, 2026
相关文章
正在检查服务状态...
tmux 小白入门教程 - Wind