Tmux 常用命令与快捷键详解

1. 什么是 Tmux?

Tmux(Terminal Multiplexer)是一个优秀的终端复用软件,类似 GNU Screen,但来自于 OpenBSD,采用 BSD 授权。

使用 Tmux 最直观的好处是:

  • 多窗口运行:通过一个终端登录远程主机后,可以开启多个控制台,无需多次连接 SSH。
  • 会话保持:即使断开终端连接,服务器端的会话仍会运行,重新连接后可以随时恢复。

安装方式

在 Ubuntu/Debian 系统中:

1
sudo apt-get install tmux

2. 核心概念

Tmux 使用 C/S(客户端/服务器)模型构建,主要包含以下层级:

  1. Server (服务器):输入 tmux 命令时即开启。
  2. Session (会话):一个服务器可以包含多个会话。
  3. Window (窗口):一个会话可以包含多个窗口(类似浏览器标签)。
  4. Pane (面板):一个窗口可以分割成多个面板(类似分屏)。

3. 会话管理 (Session)

会话是 Tmux 的最高层级,建议通过会话来组织不同的任务。

功能 命令 / 快捷键
新建并指定会话名 tmux new -s <session_name>
列出所有会话 tmux ls
进入已存在的会话 tmux a -t <session_name>
重命名当前会话 Ctrl+b $
临时退出会话 (Detach) Ctrl+b d
选择并切换会话 Ctrl+b s
关闭指定会话 tmux kill-session -t <session_name>
关闭所有会话 Ctrl+b :kill-server

4. 常用快捷键

Tmux 的所有快捷键都需要先按 Ctrl+b(前缀键)激活控制台,然后再按对应的功能键。

系统操作

  • ?:列出所有快捷键(按 q 退出)。
  • ::进入命令行模式(可输入命令如 kill-server)。
  • [:进入复制模式(类似 vi 操作,可滚动查看历史,q 退出)。
  • t:在当前面板显示时间。

窗口操作 (Window)

  • c:创建新窗口。
  • &:关闭当前窗口。
  • 0-9:切换至指定编号的窗口。
  • n / p:切换至 下一个 / 上一个 窗口。
  • w:列出当前所有窗口,可通过列表切换。
  • ,:重命名当前窗口。
  • f:在所有窗口中查找指定文本。

面板操作 (Pane)

  • ":将当前面板上下平分。
  • %:将当前面板左右平分。
  • x:关闭当前面板。
  • o:在当前窗口的面板间循环切换。
  • 方向键:按方向选择面板。
  • q:显示面板编号。
  • !:将当前面板拆分为一个新窗口。
  • Space:在预置的面板布局中循环切换(横排、竖排等)。
  • Ctrl + 方向键:以 1 个单元格为单位调整面板大小。
  • Alt + 方向键:以 5 个单元格为单位调整面板大小。

5. 高级操作

复制与粘贴

  1. Ctrl+b [ 进入复制模式。
  2. 使用方向键移动光标,按 Space 开始标记。
  3. 移动光标选择文本,按 Enter 结束并复制。
  4. Ctrl+b ] 粘贴最后一个缓冲区内容。

调整面板大小(命令行方式)

Ctrl+b : 进入命令行后输入:

  • resize-pane -U 10:向上扩大 10 单元格。
  • resize-pane -D 10:向下扩大 10 单元格。
  • resize-pane -L 10:向左。
  • resize-pane -R 10:向右。

总结

Tmux 是开发者和系统管理员的必备神器。掌握了 Session(保活)、Window(分类)和 Pane(分屏)的操作,能极大提高在 Linux 终端下的工作效率。