Myeeygo's blog Myeeygo's blog
首页
技术
关于
  • 分类
  • 标签
  • 归档

Myeeygo

个人技术博客
首页
技术
关于
  • 分类
  • 标签
  • 归档
  • GitHub高级搜索技巧
  • GithubPage配置
  • kali配置clash
  • Vmware移动kali文件后无法正常进入系统
  • 对git设置代理
  • AndroidStudio模拟器无法启动问题
  • win11更新23H2失败问题
  • win11固定应用到开始菜单
  • Excel相关问题
  • Virtualbox虚拟机扩容
  • Virtualbox虚拟机使用主机VPN
  • vscode选择虚拟环境python解释器
  • 云服务器进行rdp远程桌面连接
  • 同一局域网的服务器使用本地VPN代理
  • 将jar转换为dex
  • 导出AndroidStudio中的apk依赖jar包
  • 解决在conda中未使用对应python版本
  • 云服务器ssh连接排查记录
  • 使用qq联系openclaw掉线问题
  • python的subprocess命令运行问题
  • 本地电脑访问云服务器自建网站
  • 中文路径pip安装报错
  • ssh连接权限问题设置
  • git大文件上传问题
  • 博客网站云服务器配置流程
  • 远程云服务器使用本地代理
  • linux安装miniconda3
  • linux安装jdk并进行多版本管理
  • 工具CryptoLLM部署记录
  • 工具CCA-Droid部署记录
  • 工具cryptoeval使用记录
  • 工具cryptbara使用记录
  • 工具cryptoguard使用记录
  • 工具MASC使用记录
  • 工具cryscanner使用记录
  • 从服务器下载文件
  • 解决gitbash对中文的支持问题
  • 创建tmux持久化对话
    • 问题描述
    • 命令描述(AI版)
      • 1. 核心概念与“前缀键”
      • 2. 会话管理(最常用,必须掌握)
      • 3. 窗口管理(类似浏览器标签页)
      • 4. 窗格管理(分屏,最实用)
      • 5. 复制模式与滚动(看日志必备)
      • 6. 命令模式(底层操作)
      • 7. 自动化脚本(非交互式发送命令)
      • 🔧 强烈建议的优化配置
      • 速查记忆卡(打印在脑里)
  • 工具crylogger部署记录
  • 工具cognicrypt_sast部署记录
  • 使用apkc简单构建apk
  • 使用docker的相关记录
  • 配置owasp_java_bench记录
  • cryptoapi-bench构建注意事项
  • 云服务器网站证书更新
  • 技术
myeeygo
2026-10-19
目录

创建tmux持久化对话

# 问题描述

有一个需要运行很长时间的程序,但是vscode的ssh有时候会断联,因此需要使用tmux进行持久化会话

# 命令描述(AI版)

tmux 是 Linux 云服务器开发中必备的神器。它允许你在一个终端窗口里管理多个会话,最关键的是:当你关闭本地电脑或 SSH 断开时,服务器上的任务依然会在后台继续运行(比如编译代码、跑 GDB 调试、训练模型)。

为了让你快速上手,我将 tmux 的命令分为 Shell 命令行操作(在终端敲)和 快捷键操作(进入 tmux 后按)两类。


# 1. 核心概念与“前缀键”

在 tmux 中,所有快捷键都需要先按 Ctrl + b(默认前缀键),松开后再按其他功能键。


# 2. 会话管理(最常用,必须掌握)

会话(Session)是 tmux 的顶层容器,相当于一个独立的“工作台”。

功能 Shell 命令行(终端敲) 快捷键(tmux 内部)
新建会话 tmux new -s 会话名 -
列出所有会话 tmux ls Ctrl+b 然后 s(弹出选择列表)
连接/进入会话 tmux attach -t 会话名 -
断开当前会话(让任务后台跑) - Ctrl+b 然后 d
杀死指定会话 tmux kill-session -t 会话名 -
重命名当前会话 tmux rename-session 新名字 Ctrl+b 然后 $

💡 场景模拟:连上服务器,敲 tmux new -s gdb_debug,然后跑你的 GDB 调试。突然有事要关电脑,按 Ctrl+b d 断开。回家后连上服务器,敲 tmux attach -t gdb_debug,一切照旧。


# 3. 窗口管理(类似浏览器标签页)

一个会话里可以有多个窗口(Window),适合不同任务(一个写代码,一个看日志)。

功能 快捷键(tmux 内部)
新建窗口 Ctrl+b 然后 c
切换到下一个/上一个窗口 Ctrl+b 然后 n(Next)/ p(Previous)
窗口列表 Ctrl+b 然后 w
重命名当前窗口 Ctrl+b 然后 ,(逗号)
关闭当前窗口 Ctrl+b 然后 &(需按 y 确认)
快速跳到指定编号窗口(如 0-9) Ctrl+b 然后 0(数字键)

# 4. 窗格管理(分屏,最实用)

这是调试(GDB)和看日志时最高频的操作,可以像 IDE 一样把屏幕切分成多块。

功能 快捷键(tmux 内部)
当前窗格垂直切分(左右分屏) Ctrl+b 然后 %
当前窗格水平切分(上下分屏) Ctrl+b 然后 "(双引号)
切换活动窗格(光标跳转) Ctrl+b 然后 方向键(↑↓←→)
关闭当前窗格(退出该终端) Ctrl+b 然后 x(需按 y 确认)
或直接敲 exit
最大化当前窗格(再按一次恢复) Ctrl+b 然后 z(Zoom)
将当前窗格变成独立窗口 Ctrl+b 然后 !(感叹号)
调整窗格大小(按住前缀键+方向) Ctrl+b 然后 Ctrl+方向键

# 5. 复制模式与滚动(看日志必备)

默认 tmux 只能用鼠标滚轮(如果开启),也可以用键盘翻页。

功能 快捷键(tmux 内部)
进入复制/滚动模式(Vim 风格) Ctrl+b 然后 [
翻页 进入模式后按 PageUp / PageDown 或 ↑ / ↓
退出复制/滚动模式 q

# 6. 命令模式(底层操作)

如果你发现快捷键不够用,可以像 Vim 一样进入命令行模式。

  • 操作:按 Ctrl+b 然后 :(冒号)。
  • 常用命令:
    • set -g mouse on(开启鼠标支持,点选窗格和滚动)
    • setw -g mode-keys vi(让滚动模式支持 vi 键位 j/k)

# 7. 自动化脚本(非交互式发送命令)

如果你想让 tmux 自动执行命令(比如启动 GDB 并加载脚本),可以在 Shell 中使用:

# 在名为 "debug" 的会话的 0 号窗格中执行 "gdb ./aes_example"
tmux send-keys -t debug:0 "gdb ./aes_example" C-m
1
2

(C-m 代表回车键)


# 🔧 强烈建议的优化配置

默认的 Ctrl+b 比较远,且不支持鼠标。编辑 ~/.tmux.conf 文件(没有就新建),加入以下内容,能极大提升体验:

# 将前缀键改为 Ctrl + a(左手不离键盘,类似 screen)
set -g prefix C-a
unbind C-b
bind C-a send-prefix

# 开启鼠标支持(可以直接鼠标点击切换窗格、拖动调整大小)
set -g mouse on

# 窗口编号从 1 开始(更符合直觉)
set -g base-index 1
setw -g pane-base-index 1

# 重新加载配置(不用重启 tmux):按前缀键后输入 :source-file ~/.tmux.conf
1
2
3
4
5
6
7
8
9
10
11
12
13

# 速查记忆卡(打印在脑里)

你想做什么 快捷键
断开后台运行 Ctrl + b → d
垂直分屏 Ctrl + b → %
水平分屏 Ctrl + b → "
切换窗格 Ctrl + b → 方向键
新建窗口 Ctrl + b → c
看历史输出 Ctrl + b → [(然后按上下翻)

如果你是第一次用,建议先开一个 tmux 随便练练分屏,按 Ctrl+b d 退出重连,理解“挂起”的概念后,你就会发现再也离不开它了。在调试 aes_example 时,你可以上半屏跑 GDB,下半屏用 tail -f 看日志,效率翻倍。

解决gitbash对中文的支持问题
工具crylogger部署记录

← 解决gitbash对中文的支持问题 工具crylogger部署记录→

最近更新
01
云服务器网站证书更新
10-19
02
linux安装miniconda3
10-19
03
工具CryptoLLM部署记录
10-19
更多文章>
Theme by Vdoing | Copyright © 2025-2026 Myeeygo | 鲁ICP备2026016472号-3 | 鲁公网安备37028202001294号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式