Skip to content

Linux Tmux 使用指南#

终端多路复用器可以允许我们基于面板和标签分割出多个终端窗口,这样您便可以同时与多个 shell 会话进行交互。不仅如此,终端多路复用使我们可以分离当前终端会话并在将来重新连接。

目录#

安装#

# Debian/Ubuntu
apt install tmux -y

# CentOS/RHEL
yum install tmux -y

# macOS
brew install tmux

# Termux
pkg install tmux -y

会话管理#

基本命令#

命令 说明
tmux 启动新会话
tmux new -s NAME 创建指定名称的会话
tmux ls 列出所有会话
tmux attachtmux a 重新连接最后一个会话
tmux attach -t NAME 连接到指定会话
tmux kill-session -t NAME 删除指定会话
tmux rename-session -t NAME NEW_NAME 重命名会话

快捷键#

快捷键 说明
<Ctrl+b> d 分离当前会话
<Ctrl+b> s 显示会话列表并切换
<Ctrl+b> $ 重命名当前会话

窗口管理#

窗口相当于编辑器或浏览器中的标签页,从视觉上将一个会话分割为多个部分。

快捷键 说明
<Ctrl+b> c 创建新窗口
<Ctrl+b> & 关闭当前窗口
<Ctrl+b> p 切换到前一个窗口
<Ctrl+b> n 切换到下一个窗口
<Ctrl+b> N 跳转到第 N 个窗口
<Ctrl+b> , 重命名当前窗口
<Ctrl+b> w 列出所有窗口
<Ctrl+b> . 移动窗口到其他会话

面板管理#

面板使我们可以在一个屏幕里显示多个 shell,像 vim 中的分屏一样。

分割面板#

快捷键 说明
<Ctrl+b> " 水平分割(上下)
<Ctrl+b> % 垂直分割(左右)

切换面板#

快捷键 说明
<Ctrl+b> <方向键> 切换到指定方向的面板
<Ctrl+b> o 切换到下一个面板
<Ctrl+b> ; 切换到上一个面板
<Ctrl+b> q 显示面板编号,按数字切换

面板操作#

快捷键 说明
<Ctrl+b> z 最大化/还原当前面板
<Ctrl+b> x 关闭当前面板
<Ctrl+b> <空格> 切换面板布局
<Ctrl+b> alt+1 选择预设布局 1(平铺)
<Ctrl+b> alt+2 选择预设布局 2(左右)
<Ctrl+b> alt+3 选择预设布局 3(上下)
<Ctrl+b> alt+4 选择预设布局 4(主左右)
<Ctrl+b> alt+5 选择预设布局 5(主上下)

调整面板大小#

快捷键 说明
<Ctrl+b> alt+<方向键> 调整面板大小(每次 1 格)
<Ctrl+b> ctrl+<方向键> 调整面板大小(每次 5 格)

快捷键速查表#

前缀键#

所有 tmux 快捷键都需要先按 <Ctrl+b>,松开后再按其他键。

常用快捷键汇总#

分类 快捷键 功能
会话 <Ctrl+b> d 分离会话
会话 <Ctrl+b> s 会话列表
窗口 <Ctrl+b> c 新建窗口
窗口 <Ctrl+b> p/n 前后切换窗口
窗口 <Ctrl+b> , 重命名窗口
面板 <Ctrl+b> " 水平分割
面板 <Ctrl+b> % 垂直分割
面板 <Ctrl+b> <方向键> 切换面板
面板 <Ctrl+b> z 最大化面板
复制 <Ctrl+b> [ 进入复制模式
其他 <Ctrl+b> : 命令行模式
其他 <Ctrl+b> ? 帮助列表

复制模式#

  1. <Ctrl+b> [ 进入复制模式
  2. 使用方向键或 hjkl 移动光标
  3. 空格键 开始选择
  4. 回车键 复制选中内容
  5. <Ctrl+b> ] 粘贴

实用示例#

示例 1:创建工作会话#

# 创建名为 demo 的会话
tmux new -s demo

# 水平分割
<Ctrl+b> "

# 垂直分割
<Ctrl+b> %

# 切换面板
<Ctrl+b> <方向键>

# 创建新窗口
<Ctrl+b> c

# 切换窗口
<Ctrl+b> p  # 前一个
<Ctrl+b> n  # 下一个

# 分离会话
<Ctrl+b> d

示例 2:查看会话列表#

tmux ls
# 输出示例:
# 0: 1 windows (created Sat Mar 21 06:35:18 2026)
# 1: 2 windows (created Sat Mar 21 06:35:28 2026)
# 2: 1 windows (created Sat Mar 21 06:46:16 2026)

示例 3:连接会话#

# 连接 ID 为 1 的会话
tmux attach -t 1

# 连接名称为 demo 的会话
tmux attach -t demo

示例 4:删除会话#

# 删除指定会话
tmux kill-session -t demo

# 删除所有会话
tmux kill-server

example#

tmux new -s demo

<ctrl+b> " 水平分割
<ctrl+b> % 垂直分割

<ctrl+b> <方向> 切换到指定方向的面板

<ctrl+b> c 创建一个新的窗口

<ctrl+b> p 切换到前一个窗口
<ctrl+b> n 切换到下一个窗口

<ctrl+b> d 退出

tmux ls
0: 1 windows (created Sat Mar 21 06:35:18 2026)
1: 2 windows (created Sat Mar 21 06:35:28 2026)
2: 1 windows (created Sat Mar 21 06:46:16 2026)

# 连接 id 为1 的窗口
tmux attach -t 1