Skip to content

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之后,直接在终端里面输入 tmux就可以出现上面这个界面了

基本用法

session的相关操作,

shell
# 直接输入 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

image-20220428151116378

如果当前处在一个 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 垂直均匀分布

最新更新: