终端复用神器:Tmux 与 Screen

在远程操作 Linux 时,你是否遇到过这种尴尬:正在运行一个耗时几小时的任务,结果网络波动导致 SSH 断开,任务随之宣告失败?这就是终端复用器 (Terminal Multiplexer) 派上用场的时候。


1. 终端复用的核心价值

  1. 持久化: 进程在后台运行,SSH 断开后重新连接即可 attach
  2. 分屏管理: 在同一个窗口内同时查看日志、代码和系统监控。
  3. 多端协同: 两个用户可以连接到同一个会话,实现屏幕共享。

2. Tmux:现代终端的首选

Tmux (Terminal Multiplexer) 是目前的主流工具,功能极其强大。

2.1 基本层级

  • Session (会话): 最高层级,可包含多个 Window。
  • Window (窗口): 类似浏览器的标签页,可包含多个 Pane。
  • Pane (面板): 将一个窗口切分成多个小格子。

2.2 核心快捷键 (Prefix: Ctrl + b)

TAB分类
💡 点击标签可切换下方对比内容
视图分类:

会话管理

  • 新建: 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 开发运维之旅。

Navigation