tmux
(终端复用器)是连接SSH
远程连接服务器时比较常用的工具。本文记录它的常用使用方法。
前言
tmux is an open-source terminal multiplexer for Unix-like operating systems. It allows multiple terminal sessions to be accessed simultaneously in a single window. It is useful for running more than one command-line program at the same time. It can also be used to detach processes from their controlling terminals, allowing remote sessions to remain active without being visible.
tmux
具有的特点有:
- 可以在一个窗口同时访问多个终端对话
- 每个会话都可以
detach
在后台运行
tmux
的控制层次分为三个部分,从上到下为依次包含的关系。
- sessions
- windows
- panel
一个session
可以包含多个window
一个window
可以切分成若干个panel
。这里盗用一张图
安装完tmux
之后,直接在终端里面输入 tmux
就可以出现上面这个界面了
基本用法
session
的相关操作,
# 直接输入 tmux 默认创建一个 新的 session
tmux
# 创建一个指定名字的session,注意这里的 session_name 不需要双引号
tmux new -s session_name
# detach session 将当前会话转到后台运行,或者使用 快捷键 <CTRL>+B d
tmux detach
# 恢复连接一个会话
tmux a -t session_name
# 查看当前tmux 的所有会话
tmux ls
# 退出一个 session
tmux kill-session -t session_name
# 退出服务/ 关闭所有 session
tmux kill-server
如果当前处在一个 session
中可以使用快捷键 <CTRL>+B s
进入会话选择界面,通过方向键或者hjkl
选择需要进入的会话,按下ENTER
进入。
session操作快捷键总结:
tmux
中所有的命令都需要前缀按键,即<CTRL>-B
,命令基本就下面这两个就够用了。
快捷键 | 命令描述 |
---|---|
s | 显示当前的会话列表,用于选择切换 |
d | 将当前会话转到后台运行 |
window操作快捷键总结:
快捷键 | 命令描述 |
---|---|
w | 显示所有会话中的窗口列表 |
c | 在当前会话中新建一个窗口 |
& | 删除当前窗口,需要 y/n 确认 |
p | 切换到上一个窗口 |
n | 切换到下一个窗口 |
panel操作快捷键总结
panel就是第一个图那里,将一个window
划分为多个区域,每个区域就称为一个panel
快捷键 | 命令描述 |
---|---|
% | 横向等分当前区域为两个panel |
" | 纵向等分当前区域为两个panel |
x | 关闭当前面板,需要 y/n确认 |
方向键 | 切换当前panel 的交点 |
Alt+方向键 | 调整当前Panel的长宽等 |
q | 显示当前面板的编号,通过按下数字键完成切换 |
z | 将当前面包最大化,再进行一个则恢复原样 |
如果划分了很多panel, 希望panel 可以水平或者垂直均匀分布,可以使用以下快捷键
快捷键 | 命令描述 |
---|---|
Alt + 1 | 将所有panel 水平均匀分布 |
Alt + 2 | 将所有panel 垂直均匀分布 |