在日常开发或服务器运维中,你可能遇到过这些问题:
- SSH 登录服务器跑任务,一断网程序就停止
- 一个终端需要同时运行多个任务
- 想一边看日志一边调试程序
- 长时间运行脚本但又不想一直开着电脑
如果你遇到过这些问题,那么你一定需要一个工具 ------ tmux。
很多后端工程师、运维工程师、AI工程师都把 tmux 当作 服务器必备工具。
本文将带你从 0 到 1 掌握 tmux,包括:
- tmux 是什么
- tmux 的核心概念
- tmux 安装方法
- tmux 常用命令
- 实战使用场景
- tmux 高效配置技巧
看完这篇文章,你就可以熟练使用 tmux 了。
一、tmux 是什么
tmux(Terminal Multiplexer) 是一个 终端复用工具。
简单理解:
tmux 可以让一个终端窗口同时运行多个终端。
你可以在一个终端中:
- 同时运行多个程序
- 分屏查看日志
- 切换不同任务
- 断线后继续运行任务
例如:
diff
+-------------------------+
| 程序运行 |
+------------+------------+
| 日志监控 | shell |
+------------+------------+
这样就像在终端里拥有了一个 轻量级 IDE。
二、为什么程序员都在用 tmux
tmux 的核心价值主要有三个:
1 远程任务不会中断
例如你在服务器运行:
python train.py
如果 SSH 断开:
程序就停止了。
使用 tmux:
tmux
python train.py
即使:
- 关闭电脑
- 网络断开
程序仍然在后台运行。
2 一个终端同时运行多个任务
你可以:
窗口1 → 后端服务
窗口2 → 查看日志
窗口3 → shell
这样开发效率会非常高。
3 强大的分屏功能
tmux 支持像 IDE 一样的分屏:
diff
+---------------------+
| pane1 |
+-----------+---------+
| pane2 | pane3 |
+-----------+---------+
可以同时查看多个终端任务。
三、tmux 核心概念
在使用 tmux 之前,需要理解三个核心概念。
1 Session(会话)
Session 是 tmux 的顶层单位。
一个 session 可以包含多个窗口。
session
├── window1
├── window2
└── window3
2 Window(窗口)
Window 类似浏览器的 标签页。
每个窗口可以运行不同任务。
例如:
window1 → 运行程序
window2 → 查看日志
window3 → shell
3 Pane(面板)
Pane 就是 终端分屏。
diff
+-------------+
| pane1 |
+------+------+
| p2 | p3 |
+------+------+
四、tmux 安装
Ubuntu / Debian
sql
sudo apt update
sudo apt install tmux
检查版本:
tmux -V
CentOS / RHEL
sudo yum install tmux
或
sudo dnf install tmux
macOS
如果安装了 Homebrew:
brew install tmux
Windows
Windows 推荐使用 WSL:
sudo apt install tmux
五、tmux 基本使用
1 启动 tmux
tmux
创建指定 session:
arduino
tmux new -s dev
2 查看 session
bash
tmux ls
示例:
makefile
dev: 1 windows
3 进入 session
arduino
tmux attach -t dev
简写:
css
tmux a -t dev
4 离开 tmux(不中断程序)
按:
css
Ctrl + b
然后按:
d
即:
css
Ctrl + b → d
这叫 detach。
5 关闭 session
在 tmux 中输入:
bash
exit
或:
Ctrl + d
六、tmux 常用快捷键
所有 tmux 操作都需要先按:
css
Ctrl + b
这是 tmux 的 前缀键(Prefix Key) 。
窗口操作
| 操作 | 快捷键 |
|---|---|
| 新建窗口 | Ctrl+b c |
| 下一个窗口 | Ctrl+b n |
| 上一个窗口 | Ctrl+b p |
| 列出窗口 | Ctrl+b w |
| 关闭窗口 | Ctrl+b & |
分屏操作
| 操作 | 快捷键 |
|---|---|
| 垂直分屏 | Ctrl+b % |
| 水平分屏 | Ctrl+b " |
| 切换 pane | Ctrl+b 方向键 |
| 关闭 pane | Ctrl+b x |
Session 操作
| 操作 | 命令 |
|---|---|
| 查看 session | tmux ls |
| 新建 session | tmux new -s name |
| 进入 session | tmux attach -t name |
| 删除 session | tmux kill-session -t name |
七、tmux 实战场景
场景1:服务器训练任务
vbscript
ssh server
tmux new -s train
python train.py
离开:
css
Ctrl+b d
重新连接:
arduino
tmux attach -t train
场景2:开发环境
window1 → 后端服务
window2 → 前端开发
window3 → 日志监控
场景3:日志监控
bash
pane1 → tail -f log
pane2 → shell
pane3 → 服务运行
八、tmux 提升效率的小技巧
1 快速重命名窗口
css
Ctrl+b ,
2 查看所有快捷键
css
Ctrl+b ?
3 杀死 session
perl
tmux kill-session -t session_name
九、总结
tmux 是 Linux 开发者的 效率神器。
它可以:
- 在一个终端运行多个任务
- 支持窗口和分屏
- 远程任务断线不中断
- 非常适合服务器开发
如果你经常:
- 使用 Linux
- 远程开发
- 跑训练任务
- 运行脚本
那么 tmux 是一个必须掌握的工具。
如果你觉得这篇文章有帮助,欢迎点赞、收藏。