Tmux
概念
tmux 用 Session、Window 和 Pane 组织终端:一个 Session 可以包含多个 Window,每个 Window 又可以分成多个 Pane。
| 层级 | 含义 | 示例 |
|---|---|---|
| Session(会话) | 一组持续运行的终端工作环境 | research |
| Window(窗口) | Session 中的一个工作窗口 | train、code、log |
| Pane(面板) | Window 中拆分出来的终端区域 | 一个运行训练程序,另一个运行 nvidia-smi |
Session(会话)
├── Window(窗口)
│ ├── Pane(面板)
│ └── Pane
└── Window
例如,research 会话可以这样安排:
research
├── window 0: train
│ ├── pane 1: python train.py
│ └── pane 2: nvidia-smi
├── window 1: code
└── window 2: log
常用命令
| 命令 | 作用 | 示例 |
|---|---|---|
tmux new -s <名称> | 创建并进入一个新 Session | tmux new -s experiment |
tmux attach -t <目标> | 重新连接到已有 Session | tmux attach -t experiment |
tmux kill-session -t <目标> | 结束指定 Session | tmux kill-session -t test |
tmux ls | 列出当前所有 Session | tmux ls |
参数说明:
| 参数 | 含义 |
|---|---|
-s | 指定新 Session 的名称 |
-t | 指定目标 Session 或其他 tmux 对象 |
常用快捷键
以下快捷键都先按 tmux 前缀 Ctrl+b,再按后续按键。
| 操作 | 按键 |
|---|---|
| 暂时离开 Session(后台继续运行) | Ctrl+b,然后 d |
| 新建 Window | Ctrl+b,然后 c |
| 切换到下一个 Window | Ctrl+b,然后 n |
| 切换到指定编号的 Window | Ctrl+b,然后 0、1 或 2 |
| 左右分屏 | Ctrl+b,然后 % |
| 上下分屏 | Ctrl+b,然后 " |
| 在 Pane 之间切换 | Ctrl+b,然后方向键 |
| 调整 Pane 大小 | Ctrl+b,然后按住 Ctrl 并按方向键 |
| 查看快捷键帮助 | Ctrl+b,然后 ? |