Linux Screen 命令17 Mar 2025 | 6 分钟阅读 有时我们会遇到执行一个长时间运行的操作来移除机器,但连接突然断开了的情况。在这种情况下,SSH 会话会终止,我们的工作也会丢失。 不过,这种情况对我们每个人都发生过。但是,有一个命令叫做 screen,它允许我们恢复会话。 Screen 命令概述在 Linux 中,screen 命令允许通过单个 SSH 会话启动和使用多个 shell 会话。这个过程可以被分离出当前会话。如果进程是从 screen 命令开始的,那么之后我们可以重新连接到该会话。 最初,从 screen 开始的进程将由 screen 管理和运行,即使会话被分离。之后,进程可以重新连接到该会话,终端会像离开时一样。 GNU screen 或简称为 screen 可以被定义为终端复用器。此外,这意味着我们可以启动一个 screen 会话,然后在该会话中打开多个窗口(虚拟窗口)。 在 screen 中运行的许多进程,即使窗口没有被清除,在断开连接后也会继续执行。 Screen 命令语法Screen 命令选项
快捷键选项
Screen 命令示例1. 检查 screen 版本在大多数 Linux 发行版中,screen 命令的包是预装的。我们可以通过输入以下命令来检查它是否已安装在我们的系统中: ![]() 如果我们系统中还没有安装 screen 包,我们可以轻松地通过发行版的包管理器来安装它。 2. 安装 screen 命令我们需要打开终端并输入以下命令来安装 screen 命令: ![]() 如果你使用的是 Fedora 和 CentOS,可以使用以下命令安装 screen 命令: 3. screen这个命令会在 screen 中启动一个新的窗口。 ![]() 4. -S这个命令会在 screen 中启动一个新的窗口,并为我们的窗口提供一个名称。它会创建一个用该特定名称识别的会话。以后可以用该名称重新连接 screen。 ![]() 启动命名会话当我们运行多个 screen 会话时,命名会话非常有用。我们需要执行 screen 命令以及以下参数来创建一个命名会话: ![]() ![]() 始终选择一个描述性的会话名称是一个好主意。 5. -ls它用于显示当前打开的 screen,包括那些在后台运行的。此命令将列出所有已连接和已分离的 screen 会话。 ![]() 6. -d它用于分离一个 screen 会话,以便以后可以重新连接。它也可以通过 Ctrl-a + d 快捷键实现。 ![]() ![]() 这里的 4774 是我们要分离的 screen 的 ID。 7. -r它用于重新连接一个先前已分离的 screen 会话。 ![]() 8. 自定义 Linux screen当 screen 启动时,它会通过 ~/ .screenrc 和 /etc/screenrc(如果文件存在)读取配置参数。我们可以使用 .screenrc 文件根据我们的偏好更改 screen 的默认设置。 9. 切换屏幕当我们运行嵌套的 screen 时,我们可以使用 "Ctrl-A" 命令和 "n" 来切换屏幕。它会移动到下一个屏幕。要切换到上一个屏幕,只需点击 "Ctrl-A" 和 "p"。 要创建一个新的 screen 窗口,只需点击 "Ctrl-A" 和 "c"。 10. 使用多个 screen当我们为了工作需要多个 screen 时,我们可以一次运行多个 screen 窗口。我们可以通过两种方式实现。 首先,我们可以分离初始 screen,然后在实际终端上执行另一个 screen。其次,我们进行嵌套 screen。 11. 记录我们所做的一切有时有必要记录我们在控制台中执行的操作。例如,我们是处理各种 Linux 服务器的 Linux 系统管理员。使用 screen 日志记录,我们就无需写下我们执行的每一个命令。要激活 screen 日志记录功能,我们需要点击 "Ctrl-A" 和 "H"。 注意:使用 'H' 字母时要小心,因为 'h' 只会将屏幕的截图保存到另一个名为 hardcopy 的文件中。在 screen 的左下角,会有一个通知,提示我们:“正在创建日志文件 screenlog.0”。我们会在主目录中找到 screenlog.0 文件。 这个优点是记录我们在 screen 窗口内执行的所有操作。要关闭 screen 的活动日志记录,我们需要再次点击 "Ctrl-A" 和 "H"。激活此日志记录功能的其他方法是,在第一次运行 screen 时包含 "-L" 参数。 该命令如下: 我们可以使用以下命令查看 screen 命令的手册页: ![]() 我们可以使用以下命令查看 screen 命令的帮助页面: ![]() 下一主题Linux 检查磁盘空间 |
我们请求您订阅我们的新闻通讯以获取最新更新。