tmux(Terminal Multiplexer)是一个终端复用工具,它允许你在单个终端窗口中创建多个虚拟终端会话,并能保持这些会话在后台运行。与直接使用终端相比,tmux 提供了更强大的会话管理功能。
安装Tmux
1 2 3 4 5 6 7 8
| # Ubuntu/Debian sudo apt-get install tmux
# CentOS/RHEL sudo yum install tmux
# macOS (使用 Homebrew) brew install tmux
|
理解 Tmux 的三层关系
- 会话:一个独立的后台工作区。你关掉终端窗口,里面的程序继续运行。
- 窗口:会话里的不同标签页,相当于浏览器里打开了多个网页。
- 窗格:一个窗口内分割出来的小屏幕,方便你同时看日志、写代码、跑命令。
示例:
1 2 3 4 5 6
| 会话: 我的项目A ├── 窗口1: 代码编辑器 │ ├── 窗格1: Vim 写代码 │ └── 窗格2: 运行测试脚本 └── 窗口2: 系统监控 └── 窗格1: htop 看性能
|
Tmux 快捷键
Tmux 的所有命令都需要先按一个前缀键来唤醒,系统才知道你在命令 Tmux,而不是在打字。
默认前缀键:Ctrl + b
1. 会话管理
| 操作 |
快捷键 / 命令 |
说明 |
| 新建会话 |
tmux new -s 名字 |
给会话起个名,方便找回 |
| 脱离会话 |
Ctrl + b + d |
程序后台运行,窗口随便关 |
| 查看会话列表 |
tmux ls |
终端里直接敲,不用进 Tmux |
| 重新接入 |
tmux attach -t 名字 |
回到刚才的工作现场 |
1 2 3 4 5 6
| # 杀死会话 # 使用会话编号 $ tmux kill-session -t 0
# 使用会话名称 $ tmux kill-session -t <session-name>
|
2. 窗口管理
| 操作 |
快捷键 |
记忆技巧 |
| 新建窗口 |
Ctrl + b + c |
Create |
| 切换下一个窗口 |
Ctrl + b + n |
Next |
| 切换上一个窗口 |
Ctrl + b + p |
Previous |
| 显示窗口列表 |
Ctrl + b + w |
Windows(可视化选择) |
| 关闭当前窗口 |
exit 或 Ctrl + d |
窗格/窗口内没有程序就关了 |
3. 窗格管理
| 操作 |
快捷键 |
记忆技巧 |
| 左右分屏 |
Ctrl + b + % |
像一个百分比竖线 ` |
| 上下分屏 |
Ctrl + b + " |
像一个双引号横线 — |
| 切换光标 |
Ctrl + b + 方向键 |
上下左右移动焦点 |
| 关闭当前窗格 |
exit 或 Ctrl + d |
|
| 最大化/还原窗格 |
Ctrl + b + z |
Zoom,再按一次还原 |
Tmux 配置文件
1 2 3 4 5
| # 编辑配置文件,设置 Tmux 一直支持鼠标操作 vim ~/.tmux.conf
# 在配置文件中添加以下配置 set -g mouse on
|
在已经打开的Tmux会话中需要输入以下命令才会生效,之后打开的Tmux会话自动生效
1 2
| 1. 按 Ctrl+b : 2. 在底部出现的命令栏中输入source-file ~/.tmux.conf,然后按回车即可
|