tmux is a terminal multiplexer. It lets you switch easily between several programs in one terminal, detach them (they keep running in the background) and reattach them to a different terminal.
tmux 是一个终端复用工具。它可以使你在一个终端里,轻易地在若干个程序间切换。也可使之脱离终端(在后台保持运行)然后将其重连到其他终端上。
主页:https://github.com/tmux/tmux
安装的话,直接用apt、yum、dnf等包管理,install 就行。
一、操作
1.1 常用命令
tmux
创建新会话tmux ls
列出所有会话tmux attach -t [id]
连接指定会话
1.2 快捷键
1.2.1 快捷键使用方式
tmux 的快捷键均以 Ctrl+B
开始。
- 按下
Ctrl
同时 按下B
- 释放上述按键
- 按下快捷键,命令生效
1.2.2 常用快捷键
- 脱离会话:
Ctrl+B
·D
- 横向分割会话:
Ctrl+B
·"
- 纵向分割会话:
Ctrl+B
·%
- 移动焦点:
Ctrl+B
· [方向键](↑↓←→)
二、常用场景
2.1 终端复用
在同一个终端里,执行若干个不同的程序。
我们使用 “分割会话”,将会话分割为若干份,使用 “移动焦点”在各个终端中切换,执行不同的程序。
实现上图的操作如下:
tmux
创建tmux会话Ctrl+B
·"
横向分割会话为上下两个终端,此时焦点在下方终端上Ctrl+B
·%
纵向分割焦点所在的下方终端,此时焦点在右下的终端上htop
在当前焦点所在的右下终端执行命令Ctrl+B
·←
切换焦点到左下终端vim
在当前焦点所在的左下终端执行命令Ctrl+B
·↑
切换焦点到上方终端- ……执行其他命令
2.2 后台运行
当一个程序在 tmux 中运行的时候,可以使用 “脱离会话” 操作,退出当前 tmux 会话,释放被占用的终端,并保持程序运行。
可以使用 tmux attach -t [id]
连接回去,而不影响程序运行。如果忘记会话 id ,可以使用tmux ls
列出所有会话,来辅助查找。