一、安装
1sudo apt update && sudo apt install -y tmux
2tmux -V # 确认版本,推荐 3.x
二、配置文件
创建 ~/.tmux.conf,以下是现代版配置(修复了你原文中 deprecated 的写法):
1cat > ~/.tmux.conf << 'EOF'
2# ── 前缀键改为 Ctrl+a ─────────────────────────────
3unbind C-b
4set -g prefix C-a
5bind C-a send-prefix # 双击 Ctrl+a 发送原始 Ctrl+a
6
7# ── 基础设置 ──────────────────────────────────────
8set -g default-terminal "screen-256color"
9set -g history-limit 50000 # 回滚缓冲加大,渗透时日志多
10set -g base-index 1 # 窗口从1开始编号(更直觉)
11setw -g pane-base-index 1
12set -g escape-time 0 # 消除 ESC 延迟,vim用户必备
13set -g focus-events on
14
15# ── 鼠标支持 ──────────────────────────────────────
16set -g mouse on # 鼠标拖边框调整大小、点击切换
17unbind-key -n MouseDown3Pane # 禁用鼠标右键菜单 与终端的邮件复制冲突
18
19# ── Alt+方向键切换 pane(无需前缀) ───────────────
20bind -n M-Left select-pane -L
21bind -n M-Right select-pane -R
22bind -n M-Up select-pane -U
23bind -n M-Down select-pane -D
24
25# ── 分屏快捷键更直觉(| 和 - )─────────────────────
26bind | split-window -h -c "#{pane_current_path}"
27bind - split-window -v -c "#{pane_current_path}"
28unbind '"'
29unbind %
30
31# ── 重载配置 ──────────────────────────────────────
32bind r source-file ~/.tmux.conf \; display "Config reloaded!"
33
34# ── 颜色主题(抹茶绿)─────────────────────────────
35set -g pane-border-style fg=colour240
36set -g pane-active-border-style fg=colour107 # 抹茶绿边框
37
38set -g status-style bg=colour236,fg=colour250
39set -g status-justify centre
40set -g status-left "#[fg=colour107,bold] #S " # session名 抹茶绿
41set -g status-right "#[fg=colour108]%H:%M #[fg=colour245]%d-%b" # 24小时制
42
43setw -g window-status-current-style fg=colour236,bg=colour107,bold # 当前窗口绿底
44setw -g window-status-current-format " #I:#W "
45setw -g window-status-style fg=colour143,bg=colour236 # 其他窗口淡绿
46setw -g window-status-format " #I:#W "
47EOF
应用配置:
1tmux source-file ~/.tmux.conf
2# 或者直接开一个新 session 测试
3tmux
三、核心概念(先理解再用)
tmux
└─ Session(会话) ← 可以 detach 后台保活
└─ Window(窗口) ← 类似浏览器标签页
└─ Pane(面板) ← 同一窗口内分屏
四、常用操作速查(基于上面配置)
Session 管理
| 操作 | 命令 |
|---|---|
| 新建有名字的 session | tmux new -s pentest |
| 重命名当前session | |
| 列出所有 session | tmux ls |
| 重新连接 session | tmux attach -t pentest |
| 在 tmux 内脱离 | Ctrl+a d |
| 杀掉 session | tmux kill-session -t pentest |

Window 操作
| 操作 | 快捷键 |
|---|---|
| 新建窗口 | Ctrl+a c |
| 切换到下一个窗口 | Ctrl+a n |
| 切换到上一个窗口 | Ctrl+a p |
| 按编号切换 | Ctrl+a 1/2/3... |
| 重命名当前窗口 | Ctrl+a , |

Pane 操作
| 操作 | 快捷键 |
|---|---|
| 垂直分屏(左右) | Ctrl+a | |
| 水平分屏(上下) | Ctrl+a - |
| 切换 pane | Alt+方向键(无需前缀) |
| 最大化/还原当前 pane | Ctrl+a z |
| 调整 pane 大小 | Ctrl+a(长按)+ 方向键 |
| 关闭当前 pane | exit 或 Ctrl+d |
| 显示编号切换 | Ctrl+a q 然后按数字 |
| 向前/后置换 pane | Ctrl+a { / Ctrl+a } |
复制模式(查看输出日志必用)
| 操作 | 快捷键 |
|---|---|
| 进入复制模式(可滚屏) | Ctrl+a [ |
| 退出复制模式 | q |
| 向上/下翻页 | PgUp / PgDn |
| 搜索 | / 输入关键词 |
tmux 复制模式默认是 emacs 键位,/ 搜索是 vi 键位,需要先开启。 |
在 ~/.tmux.conf 加一行:
1setw -g mode-keys vi
然后 Ctrl+a r 重载配置。
之后复制模式的完整键位:
| 操作 | 快捷键 |
|---|---|
| 进入复制模式 | Ctrl+a [ |
| 向下搜索 | / 输入关键词 回车 |
| 向上搜索 | ? 输入关键词 回车 |
| 下一个匹配 | n |
| 上一个匹配 | N |
| 退出 | q |
| 开始选中 | Space |
| 复制选中 | Enter |
| 粘贴 | Ctrl+a ] |
| 顺便推荐再加两行,让复制模式体验更好: |
1setw -g mode-keys vi
2bind -T copy-mode-vi v send -X begin-selection # v 开始选中(像 vim)
3bind -T copy-mode-vi y send -X copy-selection-and-cancel # y 复制
这样选文本的方式就和 vim visual mode 完全一致了。
五、渗透测试实战用法
推荐的 session 分组方式:
1# 新建一个 pentest session,窗口按阶段命名
2tmux new -s pentest
3Ctrl+a , → 命名为 "recon 信息收集"
4
5Ctrl+a c → 新窗口
6Ctrl+a , → 命名为 "exploit 漏洞利用"
7
8Ctrl+a c → 新窗口
9Ctrl+a , → 命名为 "shell 终端维持"

典型 exploit 窗口布局:
Ctrl+a | # 左右分屏
左边跑 nmap/扫描
右边 Ctrl+a - 再上下分,上面写 payload,下面监听 nc/msf
断线保活(最重要的 feature):
1# SSH 断了不怕,session 还在
2tmux attach -t pentest # 重连即恢复
六、验证效果
1tmux new -s test
2# 按 Ctrl+a | → 左右分屏
3# 按 Ctrl+a - → 当前pane再上下分
4# 按 Alt+方向键 → 在三个pane间切换
5# 按 Ctrl+a z → 最大化某个pane
6# 按 Ctrl+a r → 热重载配置

