Tmux 使用指南
Tmux(Terminal Multiplexer)是一个终端复用器,可以在一个终端窗口中管理多个会话,即使断开 SSH 连接,程序也能在后台继续运行。
为什么需要 Tmux
当你通过 SSH 连接远程服务器时,如果网络断开或者关闭终端,正在运行的程序就会被终止。Tmux 解决 了这个问题:
- 会话保持:断开连接后,程序继续在后台运行,重新连接后可以恢复
- 窗口分屏:一个终端中同时查看多个命令行界面
- 多会话管理:在多个任务之间快速切换
安装
# CentOS / RHEL
yum install -y tmux
# Ubuntu / Debian
apt install -y tmux
# macOS
brew install tmux
核心概念
Tmux 有三个层级:
Session(会话)
└── Window(窗口)
└── Pane(面板)
- Session:一个独立的工作空间,可包含多个窗口
- Window:类似浏览器的标签页,一个会话中可有多个窗口
- Pane:将一个窗口分割成多个区域
前缀键
Tmux 的所有快捷键都需要先按前缀键,默认是 Ctrl + b,然后松开,再按功能键。
下文用 prefix 表示 Ctrl + b。
会话管理
命令行操作
# 新建会话(自动编号)
tmux
# 新建命名会话(推荐)
tmux new -s my-session
# 查看所有会话
tmux ls
# 接入已有会话
tmux attach -t my-session
# 简写
tmux a -t my-session
# 杀死会话
tmux kill-session -t my-session
# 杀死所有会话
tmux kill-server
快捷键操作
| 快捷键 | 功能 |
|---|---|
prefix + d | 分离当前会话(detach),回到普通终端 |
prefix + s | 列出所有会话,可上下选择切换 |
prefix + $ | 重命名当前会话 |
窗口管理
| 快捷键 | 功能 |
|---|---|
prefix + c | 新建窗口 |
prefix + w | 列出所有窗口,可选择切换 |
prefix + 数字键 | 切换到指定编号的窗口(0-9) |
prefix + n | 切换到下一个窗口 |
prefix + p | 切换到上一个窗口 |
prefix + , | 重命名当前窗口 |
prefix + & | 关闭当前窗口(会提示确认) |