概述
screen 是一个强大的工具,可以在后台维护终端会话、创建和切换多个会话,甚至共享会话。当 SSH 连接断开时,它尤其有用,可以防止任务中断,就像在一个终端窗口中使用多个虚拟终端一样。
主要功能
- 会话分离与重连 (Detaching and Reattaching)
- 多窗口管理 (Multiple Windows)
- 会话共享 (Session Sharing)
- 日志记录 (Logging)
- 滚动回溯缓冲区 (Scrollback Buffer)
主要选项
介绍运行 screen 命令时使用的主要选项以及 screen 会话内使用的主要快捷键。
命令执行选项
会话内快捷键 (Ctrl+a 前缀)
生成的命令:
请尝试组合命令。
描述:
`screen` 执行命令。
通过组合这些选项,您可以与 AI 一起虚拟地执行命令。
使用示例
screen 命令的各种使用示例。
启动新的 screen 会话
screen
最基本用法,启动一个新的 screen 会话。
指定名称启动会话
screen -S my_long_running_task
为会话命名,以便以后轻松识别和重连。
分离会话 (Detach)
screen -d <session_name_or_pid>
在 screen 会话内按下 Ctrl+a d 分离会话并返回终端。也可以从外部强制分离正在运行的会话。
重连会话 (Reattach)
screen -r
重新连接到已分离的会话。如果只有一个会话,则会自动连接。
通过名称重连特定会话
screen -r my_long_running_task
重新连接到指定名称的会话。
查看运行中的会话列表
screen -ls
查看当前激活的 screen 会话列表。
强制终止会话
screen -X <session_name_or_pid> quit
强制终止不再需要的会话。(注意:可能会中断正在进行的工作)
安装
GNU Screen 通常包含在大多数 Linux 发行版中,或者可以通过包管理器轻松安装。
Debian/Ubuntu
sudo apt update && sudo apt install screen
使用 APT 包管理器进行安装。
CentOS/RHEL/Fedora
sudo yum install screen
# 或
sudo dnf install screen
使用 YUM 或 DNF 包管理器进行安装。
Arch Linux
sudo pacman -S screen
使用 Pacman 包管理器进行安装。
技巧与注意事项
使用 screen 时的一些有用技巧和注意事项。
利用 .screenrc 文件
可以通过用户主目录下的 `.screenrc` 文件自定义 screen 的默认设置。例如,可以设置默认 shell、滚动回溯缓冲区大小、状态栏等。
- 位置: ~/.screenrc
- 示例配置: defscrollback 10000 caption always '%{= gk}%H %L=%-w%?%F%fn%W%? %t %{-}%+w %-= %D %m/%d %C%a'
记住 Ctrl+a 前缀
screen 的所有内部命令默认都使用 Ctrl+a 作为前缀。记住这个组合是使用 screen 的关键。如果 Ctrl+a 与其他程序冲突,可以在 `.screenrc` 中更改为其他前缀(例如,将 `escape ^Jj` 改为 Ctrl+j)。
指定会话名称的重要性
通过 `screen -S
使用滚动回溯缓冲区
按下 Ctrl+a [ 进入滚动模式,然后可以使用箭头键或 PageUp/PageDown 键查看之前的输出。按 q 退出滚动模式。