tmux 是一个非常实用的终端复用器(terminal multiplexer),它能让你在同一个终端里创建多个会话、窗口、面板,即使 SSH 断开或退出登录,里面的程序也能继续运行,下次登录还能接回去继续看(特别适合跑 tail -f 日志、训练模型、下载大文件等长期任务)。

1. 安装(如果服务器还没装)

大多数 Linux 发行版都可以用包管理器快速安装:

  1. # Ubuntu / Debian
  2. sudo apt update && sudo apt install tmux
  3. # CentOS / RHEL / Rocky / AlmaLinux
  4. sudo yum install tmux # 老系统
  5. # 或
  6. sudo dnf install tmux # 新系统
  7. # Fedora
  8. sudo dnf install tmux

装好后输入 tmux -V 检查版本(目前主流是 3.x 版本)。

2. 快速入门(5 分钟上手核心用法)

步骤 命令 / 操作 说明
启动新会话(最常用) tmuxtmux new -s mylog 进入 tmux,建议起名字(如 openclaw-log),方便以后找回
脱离会话(关键!) Ctrl + b 然后按 d detach,程序继续跑,你可以安全退出 SSH
重新连接会话 tmux attachtmux a -t mylog 接回刚才的会话(a 是 attach 的缩写)
查看所有会话 tmux ls 列出服务器上所有 tmux 会话
杀死某个会话 tmux kill-session -t mylog 彻底结束某个会话(谨慎使用)

最常见的一套流程(比如你想一直看 OpenClaw 日志):

  1. # 1. 启动并命名
  2. tmux new -s openclaw-log
  3. # 2. 里面运行你想要持续显示的命令
  4. tail -F /path/to/openclaw.log # -F 能自动跟进日志轮转文件
  5. # 3. 按 Ctrl+b 然后 d → 脱离(屏幕显示 [detached])
  6. # 这时你可以 exit 退出 ssh,日志还在后台滚
  7. # 4. 下次登录后
  8. tmux a -t openclaw-log # 直接看到 tail -f 还在实时更新

3. 核心快捷键(全部都要先按 Ctrl + b 作为前缀)

前缀键:默认是 Ctrl + b(很多人改成 Ctrl + a,更顺手,后面会教)

分类 快捷键 作用 记忆口诀
会话 Ctrl+b d 脱离(detach) detach → d
Ctrl+b s 列出所有会话,选择切换 session list
Ctrl+b $ 重命名当前会话 $ rename
窗口(标签) Ctrl+b c 创建新窗口 create
Ctrl+b n / p 下一个 / 上一个窗口 next / previous
Ctrl+b 0~9 跳到第几个窗口 数字直接跳
Ctrl+b w 窗口列表(像 IDE 标签页) window list
Ctrl+b , 重命名当前窗口 , rename
Ctrl+b & 关闭当前窗口 & kill
面板(分屏) Ctrl+b % 左右分屏 % 像竖杠
Ctrl+b “ 上下分屏 “ 像横杠
Ctrl+b 方向键 在面板间切换光标 方向键最直观
Ctrl+b x 关闭当前面板(会问 y/n 确认) x kill
Ctrl+b o 下一个面板 o next pane
Ctrl+b ; 上一个面板 ; previous pane
其他常用 Ctrl+b ? 显示所有快捷键帮助(按 q 退出) 求助键
Ctrl+b : 进入命令模式(可以输入更复杂的命令) : command

4. 推荐入门配置(让它更好用)

新建或编辑 ~/.tmux.conf 文件(可以用 vim/nano):

  1. # 把前缀改成 Ctrl+a (和 screen 一样,顺手很多)
  2. set -g prefix C-a
  3. unbind C-b
  4. bind C-a send-prefix
  5. # 启用鼠标(可选,新手推荐)
  6. set -g mouse on
  7. # 窗口编号从 1 开始(更符合直觉)
  8. set -g base-index 1
  9. setw -g pane-base-index 1
  10. # 状态栏美化(可选)
  11. set -g status-style bg=black,fg=green
  12. set -g status-interval 1

改完配置后,运行 tmux source-file ~/.tmux.conf 生效,或者退出 tmux 重新进就行。

5. 小Tips & 常见问题

  • 想同时看多个日志? → 用 Ctrl+b % 或 “ 分屏,然后在不同面板跑不同的 tail -f
  • 卡住了? → Ctrl+b ? 看帮助,或直接 tmux kill-server 重启整个 tmux 服务(会杀掉所有会话,慎用)
  • 复制粘贴? → 进入复制模式 Ctrl+b [ ,用 vi 风格移动(h j k l),空格选,Enter 复制,p 粘贴

tmux 入门其实就这几招:new → run command → Ctrl+b d 脱离 → tmux a 接回