Linux 中使用 Screen 命令指南

热门:
升级您的服务器配置! 申请 AVA 并使用 立减 15%
使用优惠码:

如果你曾经在 Linux 终端中运行一个长时间任务,却因为丢失 SSH session 或关闭终端窗口而被中断,你就知道这有多令人沮丧。幸运的是,Linux servers 提供了一个强大的实用工具,叫做 screen,它允许你在后台运行终端会话、从中分离,并在之后重新连接——即使在断开连接之后也是如此。

在本指南中,我们将带你了解使用 screen 的基础知识,从安装到常用命令。

什么是 screen?

screen 是一个 terminal multiplexer,它让你可以在一个窗口中创建多个终端会话。你可以从某个会话中分离,让它在后台继续运行,并在之后重新附加——这使它非常适合远程工作或运行持续进程。

安装 screen

在大多数 Linux 发行版中,screen 都可以通过默认的 package manager 获取。

适用于 Debian/Ubuntu:

sudo apt update
sudo apt install screen

适用于 CentOS/RHEL:

sudo yum install screen

适用于 Fedora:

sudo dnf install screen

基本用法

启动一个 Screen 会话

screen

此命令会打开一个新的 screen 会话。你会看到欢迎信息和一个终端提示符。

为会话命名

screen -S mysession

使用 -S 为你的会话指定一个名称,方便之后引用。

分离与重新附加

从会话中分离

在 screen 会话中,按下:

Ctrl + A, then D

这会将会话分离,并让它在后台继续运行。

列出活动会话

screen -ls

这会显示当前 screen 会话的列表:

There are screens on:
12345.mysession (Detached)

重新附加到会话

screen -r mysession

或者使用 session ID:

screen -r 12345

使用多个窗口

在 screen 会话中,你可以创建多个终端窗口。

  • 创建新窗口: Ctrl + A,然后按 C

  • 切换到下一个窗口: Ctrl + A,然后按 N

  • 切换到上一个窗口: Ctrl + A,然后按 P

  • 列出所有窗口: Ctrl + A,然后按 “(双引号

每个窗口都会运行自己的 shell,如果你分离,会全部继续在后台运行。

日志记录与输出

要记录 screen 会话的输出:

  1. 启动或进入你的 screen 会话。

  2. 启用日志记录:

    Ctrl + A, then H

    这会在当前目录中创建一个名为

    screenlog.0

    的文件。

关闭会话

要退出会话,只需在 screen 终端中输入

exit

。这会终止 shell 并关闭会话。

如果你有多个窗口,必须退出所有窗口,或者通过输入以下命令关闭整个会话:

exit

在每个窗口中。

高级技巧

  • 回滚查看: Ctrl + A,然后按 Esc 可进入复制/回滚模式。

  • 共享会话: 多个用户可以通过使用 multiuser mode 连接到同一个会话。

  • 自定义配置: 修改 ~/.screenrc 以设置个人快捷键和偏好。

结论

screen 是任何管理长时间运行任务或通过 SSH 远程工作的 Linux 用户都必备的工具。它能够保持进程存活并可访问,使其对开发者、sysadmins 和爱好者来说都极其有价值。

探索 man screen 以了解更多功能——并开始在你的终端中更高效地工作!