终端复用神器:Tmux 与 Screen
在远程操作 Linux 时,你是否遇到过这种尴尬:正在运行一个耗时几小时的任务,结果网络波动导致 SSH 断开,任务随之宣告失败?这就是终端复用器 (Terminal Multiplexer) 派上用场的时候。
1. 终端复用的核心价值
- 持久化: 进程在后台运行,SSH 断开后重新连接即可
attach。 - 分屏管理: 在同一个窗口内同时查看日志、代码和系统监控。
- 多端协同: 两个用户可以连接到同一个会话,实现屏幕共享。
2. Tmux:现代终端的首选
Tmux (Terminal Multiplexer) 是目前的主流工具,功能极其强大。
2.1 基本层级
- Session (会话): 最高层级,可包含多个 Window。
- Window (窗口): 类似浏览器的标签页,可包含多个 Pane。
- Pane (面板): 将一个窗口切分成多个小格子。
2.2 核心快捷键 (Prefix: Ctrl + b)
- 新建:
tmux new -s my_session - 挂起 (Detach):
Ctrl + b然后d(进程在后台运行) - 恢复 (Attach):
tmux a -t my_session - 查看所有:
tmux ls
- 新建窗口:
Ctrl + b然后c - 切换窗口:
Ctrl + b然后0-9(或n/p切换前后) - 关闭当前:
exit
- 水平切分:
Ctrl + b然后% - 垂直切分:
Ctrl + b然后" - 切换面板:
Ctrl + b然后 方向键 - 调整大小:
Ctrl + b然后 按住Ctrl+ 方向键
2.3 深度定制:~/.tmux.conf
想让 Tmux 更好用?你可以通过配置文件修改其行为。
# 启用鼠标支持 (调整面板、点击窗口)
set -g mouse on
# 修改 Prefix 为 Ctrl + a (更顺手)
set -g prefix C-a
unbind C-b
bind C-a send-prefix
# 设置 256 色支持
set -g default-terminal "screen-256color"3. GNU Screen:经典永不过时
在一些极简系统或老旧服务器上,你可能只能找到 Screen。
▶ Screen 极速上手
- 新建:
screen -S session_name - 挂起:
Ctrl + a然后d - 恢复:
screen -r session_name - 多端同时查看:
screen -x session_name(非常适合结对编程)
4. 协作神器:Tmux 共享会话
如果你想让同事看你的终端,只需要让他在同一台机器上以同一用户身份执行:
tmux attach -t your_session
现在,你们两个人的输入和输出是实时同步的。