> 环境与工具 > tmux

tmux: 终端复用器指南

一个强大的终端复用器,允许在一个终端窗口中管理多个会话、窗口和窗格,并可以从会话中分离,稍后再重新连接。

tmux 是什么?

tmux 是 'Terminal Multiplexer' 的缩写,它允许将一个终端屏幕划分为多个独立的会话、窗口和窗格。当 SSH 连接断开时,它是一个必不可少的工具,可以保持任务继续运行,或者同时监控多个任务。

3 个核心概念

tmux 具有会话 > 窗口 > 窗格的层级结构。

  • 会话 (Session): 最大的单位。包含多个窗口的工作空间。(例如:'project-A')即使从会话中分离,任务也会在后台继续运行。
  • 窗口 (Window): 类似于会话内的标签页。一个会话可以有多个窗口。
  • 窗格 (Pane): 将一个窗口分割成多个小终端屏幕。(例如:上方编辑代码,下方查看日志)

前缀键 (Prefix Key)

在 `tmux` 内部执行命令时,需要首先按下的组合键。默认值是 Ctrl+b。(例如:要创建新窗口,需要先按下并松开 Ctrl+b,然后按下 c。)本指南中将此键表示为 [Prefix]。

主要命令 (Shell)

直接在终端(Shell)中输入以管理 tmux 会话的命令。

1. 会话管理

2. 帮助/版本

生成的命令:

请尝试组合命令。

描述:

`tmux` 执行命令。

通过组合这些选项,您可以与 AI 一起虚拟地执行命令。

主要快捷键 (tmux 内部)

在连接到 `tmux` 会话时使用的快捷键。首先按下 [Prefix](默认 Ctrl+b),然后按下以下键。

会话和窗口管理

  • [Prefix] + d: 从会话中分离 (Detach)。任务在后台继续运行。
  • [Prefix] + c: 创建新窗口 (Create)
  • [Prefix] + w: 查看窗口列表 (Windows)
  • [Prefix] + n: 切换到下一个窗口 (Next)
  • [Prefix] + p: 切换到上一个窗口 (Previous)
  • [Prefix] + [0-9]: 直接切换到指定编号的窗口
  • [Prefix] + ,: 重命名当前窗口
  • [Prefix] + &: 关闭当前窗口 (需要确认)

窗格管理

  • [Prefix] + %: 垂直分割当前窗格 (左/右)
  • [Prefix] + ": 水平分割当前窗格 (上/下)
  • [Prefix] + [方向键]: 将焦点移动到方向键指示的窗格
  • [Prefix] + o: 循环切换到下一个窗格
  • [Prefix] + z: 当前窗格全屏放大/缩小 (Zoom)
  • [Prefix] + x: 关闭当前窗格 (需要确认)

使用场景示例 (Shell)

在终端中启动和管理 tmux 的一般流程。

创建并连接 my-project 会话

tmux new -s my-project

从会话中分离 (Detach)

在会话中,按下 [Prefix] (Ctrl+b) 后再按 d 键即可从会话中退出。任务将继续在后台运行。

查看正在运行的会话列表

tmux ls

重新连接到 my-project 会话

tmux attach -t my-project

强制终止 my-project 会话

tmux kill-session -t my-project

安装

tmux 可以通过大多数 Linux 发行版的包管理器轻松安装。

Debian/Ubuntu

sudo apt update && sudo apt install -y tmux

RHEL/CentOS/Fedora

sudo dnf install -y tmux

Arch Linux

sudo pacman -S --needed tmux

openSUSE

sudo zypper install -y tmux

提示与注意事项

推荐设置/习惯

  • SSH 连接后: 连接到远程服务器后,立即创建一个像 `tmux new -s work` 这样的会话,即使连接中断,也能安全地继续工作。
  • 鼠标模式: 在 ~/.tmux.conf 中添加 `set -g mouse on` 可以通过鼠标调整窗格大小、选择窗口和滚动。
  • 配置文件: 在 ~/.tmux.conf 中设置自己的快捷键或主题。
  • 更改前缀键: 如果 Ctrl+b 不方便,可以更改为 `set -g prefix C-a`。

相关命令

功能上相似或经常一起使用的命令。



相同类别命令