🐧 Linux tmux
使用手册
tmux
(Terminal Multiplexer)是一个终端多路复用器,允许你在一个终端窗口中管理多个终端会话,并且可以在断开连接后重新连接这些会话。
一、安装 tmux
大多数 Linux 发行版默认已安装 tmux
。如果没有,可以用以下命令安装:
-
Debian/Ubuntu:
bash sudo apt install tmux
-
CentOS/RHEL:
bash sudo yum install tmux
-
Fedora:
bash sudo dnf install tmux
二、基本使用
1. 启动一个新的会话
tmux
2. 启动命名会话(推荐)
tmux new -s session_name
例如:
tmux new -s work
3. 查看所有会话
tmux ls
输出示例:
0: 1 windows (created Tue Jun 10 10:00:00 2025)
work: 2 windows (created Tue Jun 10 10:05:00 2025)
4. 恢复某个会话
tmux attach -t session_name
例如:
tmux attach -t work
5. 断开会话(Detach)
在 tmux 中按下组合键:
Ctrl + b 然后按 d
6. 结束会话
在 tmux 会话中输入:
exit
或使用命令强制结束:
tmux kill-session -t session_name
三、常用快捷键(前缀:Ctrl + b
)
所有快捷键操作都在进入 tmux 会话后生效。
快捷键 | 功能 |
---|---|
Ctrl + b c |
创建新窗口 |
Ctrl + b n |
切换到下一个窗口 |
Ctrl + b p |
切换到上一个窗口 |
Ctrl + b w |
显示窗口列表并切换 |
Ctrl + b l |
切换到最后使用的窗口 |
Ctrl + b , |
重命名当前窗口 |
Ctrl + b % |
垂直分割窗格 |
Ctrl + b " (双引号) |
水平分割窗格 |
Ctrl + b o |
在不同窗格之间切换 |
Ctrl + b x |
关闭当前窗格 |
Ctrl + b [ |
进入复制模式(滚动、选择文本) |
Ctrl + b : |
输入 tmux 命令(如 kill-session ) |
四、高级功能
1. 多人共享会话
tmux attach -t session_name
多个用户可以同时连接到同一个会话,适合协作调试。
2. 后台运行任务并查看日志
tmux new -d -s mytask 'ping google.com'
然后恢复查看:
tmux attach -t mytask
3. 分屏操作
-
垂直分屏:
Ctrl + b %
-
水平分屏:
Ctrl + b "
-
切换窗格:
Ctrl + b o
-
调整窗格大小(进入调整模式):
Ctrl + b Alt + 方向键
五、配置文件(~/.tmux.conf)
你可以通过编辑 ~/.tmux.conf
自定义 tmux
行为。以下是几个常用配置示例:
# 设置前缀为 Ctrl + a(代替默认的 Ctrl + b)
set-option -g prefix C-a
unbind C-b
bind C-a send-prefix
# 启用鼠标支持(需要 tmux 2.1+)
set -g mouse on
# 设置状态栏颜色
set -g status-bg black
set -g status-fg white
# 显示窗口列表
set -g status-left '#(whoami)@#H'
# 设置窗口自动命名
set-option -g allow-rename off
加载配置文件:
tmux source-file ~/.tmux.conf
六、常用命令总结
操作 | 命令 |
---|---|
列出会话 | tmux ls |
新建会话 | tmux new -s session_name |
恢复会话 | tmux attach -t session_name |
强制恢复会话 | tmux attach -t session_name -d |
结束会话 | tmux kill-session -t session_name |
重命名会话 | tmux rename-session -t old_name new_name |
发送命令到后台会话 | tmux send-keys -t session_name 'your_command' Enter |
七、常见问题
Q: 如何退出复制模式?
A: 按 q
键即可退出。
Q: 出现 no current session
错误?
A: 说明你没有在 tmux 会话中执行命令,请先进入一个会话。
Q: 如何设置窗口标题?
A: 在 .tmux.conf
中添加:
set-option -g set-titles on
set-option -g set-titles-string "#T"
八、示例流程
示例 1:启动后台任务并查看输出
tmux new -d -s task 'ping baidu.com'
tmux attach -t task
示例 2:创建多个窗口并切换
tmux new -s demo
Ctrl + b c # 创建第二个窗口
Ctrl + b w # 查看窗口列表
Ctrl + b n/p # 切换窗口
✅ 小技巧
- 💡 使用命名会话更容易管理多个任务。
- 💡 鼠标支持 (
mouse on
) 可以方便地点击切换窗格。 - 💡 使用
Ctrl + b [
进入复制模式后,按Enter
开始选中,再按Enter
复制。 - 💡 使用插件系统(如 tpm)可以扩展功能(如 CPU 监控、自动补全等)。