> 环境与工具 > tmux

tmux: 终端复用器

tmux 是一个终端复用器,允许用户管理终端会话,并在一个屏幕上使用多个终端窗口。它在 SSH 连接断开后仍能保持会话,因此对于远程工作特别有用,并有助于在一个终端中同时执行多个任务。

概述

tmux 允许用户创建、分离 (detach) 和重新连接 (attach) 终端会话,确保在网络连接中断时工作不会中断。此外,它还允许用户在单个终端窗口内管理多个窗口 (windows) 和分割的面板 (panes),从而显著提高生产力。

主要特点

  • 会话保持与重连:即使网络连接中断,工作会话也会保留在服务器上。
  • 多窗口与分屏:允许在一个终端中通过多个虚拟窗口和屏幕分割进行并发工作。
  • 易于协作:多个用户可以连接到同一个 tmux 会话并协同工作。
  • 可自定义:可以通过 `.tmux.conf` 文件更改快捷键、状态栏等各种设置。

主要选项

与 tmux 命令一起使用的主要选项。

会话管理

指定会话/窗口名称

生成的命令:

请尝试组合命令。

描述:

`tmux` 执行命令。

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

使用示例

使用 tmux 管理终端会话的各种示例。

启动新的 tmux 会话

tmux

如果不指定名称,则会自动分配名称。

指定名称启动新会话

tmux new -s my_session

以 `my_session` 的名称启动一个新的 tmux 会话。

连接到现有会话

tmux attach -t my_session

重新连接到名为 `my_session` 的会话。

从当前会话分离

tmux detach

这与在 tmux 会话内部按下 `Ctrl+b d` 效果相同。(这不是直接在终端中执行的命令)

查看所有 tmux 会话列表

tmux ls

显示当前所有正在运行的 tmux 会话及其状态。

终止特定会话

tmux kill-session -t my_session

终止名为 `my_session` 的会话。

安装

tmux 通常不包含在大多数 Linux 发行版中,因此需要使用以下命令进行安装。

Debian/Ubuntu

sudo apt update && sudo apt install tmux

使用 APT 包管理器安装 tmux。

CentOS/RHEL/Fedora

sudo dnf install tmux
# 或 sudo yum install tmux (旧版本)

使用 YUM 或 DNF 包管理器安装 tmux。

Arch Linux

sudo pacman -S tmux

使用 Pacman 包管理器安装 tmux。

提示与注意事项

更有效地使用 tmux 的提示和注意事项。

默认前缀键 (Prefix Key)

tmux 的所有命令默认都需要先按下 `Ctrl+b` 前缀键,然后按下其他键来执行。此前缀键可以在 `.tmux.conf` 文件中更改。

  • Ctrl+b d: 从当前会话分离 (detach)
  • Ctrl+b %: 垂直分割当前面板
  • Ctrl+b ": 水平分割当前面板
  • Ctrl+b c: 创建新窗口
  • Ctrl+b n: 切换到下一个窗口
  • Ctrl+b p: 切换到上一个窗口
  • Ctrl+b x: 关闭当前面板(带确认提示)
  • Ctrl+b [: 进入滚动模式(向上滚动屏幕)
  • Ctrl+b ]: 退出滚动模式

`.tmux.conf` 文件

可以通过用户主目录下的 `.tmux.conf` 文件来自定义 tmux 的设置。例如,可以将前缀键更改为 `Ctrl+a`,或设置状态栏的颜色和显示信息。要应用更改,需要执行 `tmux source-file ~/.tmux.conf` 命令或重新启动 tmux 会话。

简单的 .tmux.conf 示例

# 将前缀键更改为 Ctrl+a
set -g prefix C-a
unbind C-b
bind C-a send-prefix

# 启用鼠标滚动
set -g mouse on

将前缀键更改为 `Ctrl+a` 并启用鼠标滚动的示例。


相同类别命令