Tmux(Terminal Multiplexer)是一个 终端复用工具,可以在单个终端窗口中管理多个会话、窗口和窗格,极大提高命令行工作效率。以下是它的核心功能:
步骤:
安装 tmux:
bash
sudo apt install tmux # Ubuntu/Debian
sudo yum install tmux # CentOS/RHEL
创建新会话:
bash
tmux new -s my_ionup
在会话中运行程序:
bash
your_program
按 Ctrl+B 然后 D 分离会话。
重新连接:
bash
tmux attach -t my_ionup
关闭某个特定会话:
tmux kill-session -t my_ionup
nohup
或 screen
的麻烦)。work
、dev
、monitor
),自由切换。常用命令:
tmux new -s 会话名 # 创建新会话
tmux attach -t 会话名 # 恢复会话
tmux ls # 列出所有会话
tmux kill-session -t 会话名 # 关闭会话
快捷键(默认前缀键 Ctrl+B
):
Ctrl+B + c # 新建窗口
Ctrl+B + n # 切换到下一个窗口
Ctrl+B + p # 切换到上一个窗口
Ctrl+B + & # 关闭当前窗口
Ctrl+B + , # 重命名窗口
快捷键:
Ctrl+B + % # 垂直分割(左右分屏)
Ctrl+B + " # 水平分割(上下分屏)
Ctrl+B + 方向键 # 切换窗格
Ctrl+B + x # 关闭当前窗格
Ctrl+B + z # 最大化/恢复当前窗格
vim
、ping
、python
脚本)会持续执行,即使网络断开。tmux attach
可回到之前的会话,所有窗口、命令、输出保持原样。示例:
# 在远程服务器启动任务
tmux new -s mytask
python long_script.py
# 断开SSH后重新连接
tmux attach -t mytask # 恢复之前的任务
命令:
tmux -S /tmp/shared_socket # 创建共享会话
chmod 777 /tmp/shared_socket # 允许其他用户访问
~/.tmux.conf
)定制示例配置:
# ~/.tmux.conf
set -g mouse on # 启用鼠标支持
set -g prefix C-a # 将前缀键改为 Ctrl+A
bind | split-window -h # 自定义分屏快捷键
功能 | Tmux | Screen |
---|---|---|
分屏(窗格) | ✅ 支持 | ❌ 不支持 |
会话持久化 | ✅ 更稳定 | ✅ 支持 |
快捷键定制 | ✅ 高度可配置 | ❌ 有限 |
协作共享 | ✅ 支持 | ❌ 不支持 |
社区生态 | ✅ 活跃 | ⚠️ 维护较少 |
Tmux 的核心价值是 提升终端操作的灵活性和可靠性,尤其适合:
掌握 Tmux 后,你会发现命令行效率大幅提升!