Tmux 简明教程:终端复用神器
Tmux (Terminal Multiplexer) 是一个终端复用工具,让你可以在一个终端窗口中管理多个会话。最大的优势是:即使 SSH 断开,你的程序依然在后台运行。
为什么需要 Tmux?
- SSH 断线后程序继续运行
- 在一个窗口中管理多个终端
- 分屏操作,同时查看多个任务
- 团队协作时共享终端会话
安装
# Ubuntu/Debian
sudo apt-get install tmux
# CentOS/RHEL
sudo yum install tmux
# Mac
brew install tmux
基础操作
会话管理
# 新建会话
tmux
# 新建并命名会话
tmux new -s mysession
# 列出所有会话
tmux ls
# 连接到会话
tmux attach -t mysession
# 断开当前会话(程序继续运行)
tmux detach
# 或按快捷键:Ctrl+b 然后按 d
# 杀死会话
tmux kill-session -t mysession
快捷键前缀
Tmux 的所有快捷键都需要先按前缀键:Ctrl+b,然后再按功能键。
窗口操作
Ctrl+b c # 创建新窗口
Ctrl+b n # 切换到下一个窗口
Ctrl+b p # 切换到上一个窗口
Ctrl+b 0-9 # 切换到指定编号的窗口
Ctrl+b w # 列出所有窗口,可选择切换
Ctrl+b , # 重命名当前窗口
Ctrl+b & # 关闭当前窗口
窗格(分屏)操作
Ctrl+b % # 垂直分屏(左右分屏)
Ctrl+b " # 水平分屏(上下分屏)
Ctrl+b 方向键 # 在窗格间切换
Ctrl+b x # 关闭当前窗格
Ctrl+b z # 当前窗格全屏/取消全屏
Ctrl+b { # 当前窗格左移
Ctrl+b } # 当前窗格右移
Ctrl+b Ctrl+方向键 # 调整窗格大小
Ctrl+b Space # 切换窗格布局
其他常用快捷键
Ctrl+b ? # 查看所有快捷键
Ctrl+b t # 显示时钟
Ctrl+b [ # 进入复制模式(可上下滚动查看历史)
# 按 q 退出复制模式
典型使用场景
场景1:运行长期任务
# 创建会话
tmux new -s training
# 运行训练任务
python train.py
# 断开会话(Ctrl+b d)
# 关闭终端,SSH 断开都没关系,训练继续
# 稍后重新连接
tmux attach -t training
场景2:多任务并行
# 创建会话
tmux new -s dev
# 分屏
Ctrl+b % # 左边编辑代码
Ctrl+b " # 右边分成上下两部分
# 上面运行服务器
# 下面查看日志
场景3:服务器运维
# 窗口1: 监控系统资源
htop
# 创建新窗口 (Ctrl+b c)
# 窗口2: 查看日志
tail -f /var/log/app.log
# 创建新窗口
# 窗口3: 编辑配置
vim config.yml
实用配置
创建配置文件 ~/.tmux.conf:
# 将前缀键改为 Ctrl+a(更顺手)
set -g prefix C-a
unbind C-b
bind C-a send-prefix
# 启用鼠标支持
set -g mouse on
# 窗口编号从 1 开始
set -g base-index 1
# 快速重载配置
bind r source-file ~/.tmux.conf \; display "配置已重载!"
# 分屏快捷键更直观
bind | split-window -h
bind - split-window -v
重载配置:
tmux source-file ~/.tmux.conf
常见工作流程
# 1. 登录服务器后立即创建或连接会话
tmux attach || tmux new -s work
# 2. 在会话中工作
# 3. 需要离开时按 Ctrl+b d 断开
# 程序继续在后台运行
# 4. 下次登录后重新连接
tmux attach -t work
小贴士
- 会话持久化:重启服务器后会话会丢失,可以使用
tmux-resurrect插件保存会话 - 状态栏美化:可以使用
tmux-powerline等插件美化界面 - 配对编程:两人可以同时连接同一个 tmux 会话,实现屏幕共享
掌握这些基础操作,你就能显著提升终端使用效率了!



7109

被折叠的 条评论
为什么被折叠?



