终端复用神器: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
现在,你们两个人的输入和输出是实时同步的。
5. 结业练习
任务 1 进程持久化
启动一个 Tmux 会话,在其中运行 top 命令,执行 Detach 操作,关闭终端,重新打开终端后尝试 Attach 回去,确认 top 仍在运行。
练习 2 分屏布局
在同一个 Tmux 窗口内,利用快捷键切割出 4 个 Pane,并分别运行不同的监控命令(如 htop, nload, watch df -h, journalctl -f)。
练习 3 定制化
创建并配置 ~/.tmux.conf,将快捷键前缀改为 Ctrl + a,并启用鼠标支持。
Tip
掌握了 Tmux,你才算真正开始了“不间断”的 Linux 开发运维之旅。