Linux screen 命令指南

linuxopen sourceoperating system更新于 2026/2/8 1:52:17

简介

在 Linux 终端上工作时,有时可能需要同时运行多个进程。但是,如果您关闭终端或意外断开远程会话,进程将会终止,您可能会丢失所有进度。这时,Linux screen 命令就派上用场了。

Screen 是一个功能强大的命令行实用程序,允许您在单个 Shell 窗口内或通过 SSH 连接创建和管理多个终端会话。即使您没有物理连接到服务器,它也可以方便地管理长时间运行的进程或多个命令。

在本文中,我们将讨论 Linux screen 命令的基础知识、其用法以及一些有效管理终端会话的实用技巧。

安装 Screen

大多数现代 Linux 发行版都预装了 screen。但是,如果您的系统尚未安装,您可以使用适用于您发行版的软件包管理器进行安装。例如,在 Ubuntu 上,您可以使用以下命令进行安装 -

sudo apt-get install screen

安装完成后,您就可以开始使用 screen 命令了。

创建新的 Screen 会话

要创建新的 Screen 会话,只需输入以下命令 -

screen

这将在 Screen 会话中启动一个新的 Shell 会话。现在,您可以像在普通终端中一样运行任何命令。

从 Screen 会话中分离

要从 Screen 会话中分离,您可以按键盘快捷键"Ctrl+A",然后按"d"。这将分离 Screen 会话并返回到 Shell 提示符。所有在 Screen 会话中运行的进程将继续在后台运行。

重新连接到 Screen 会话

要重新连接到 Screen 会话,您可以使用以下命令 -

screen -r

这将重新连接到最后一个活动的 Screen 会话。如果有多个 Screen 会话正在运行,您可以指定会话 ID 来重新连接到特定的 Screen 会话。

screen -r <session_id>

列出活动的 Screen 会话

要列出所有活动的 Screen 会话,您可以使用以下命令 -

screen -ls

这将显示所有活动的 Screen 会话及其对应会话 ID 的列表。

There are screens on:
   1168.pts-0.ip-10-0-0-45       (Detached)
   1323.pts-0.ip-10-0-0-45       (Detached)
   1343.pts-0.ip-10-0-0-45       (Detached)
3 Sockets in /run/screen/S-ubuntu.

终止 Screen 会话

要终止 Screen 会话,您可以使用以下命令 -

screen -X -S <session_id> quit

这将向指定的 Screen 会话发送"quit"命令,从而终止其中运行的所有进程。

分屏

Screen 命令最有用的功能之一是能够将终端窗口拆分成多个区域。这在同时处理多个任务时尤其有用。

要水平分屏,您可以使用以下命令 -

Ctrl+A, |

这将把终端窗口拆分成两个水平区域。现在,您可以在每个区域运行不同的命令。

要垂直分屏,您可以使用以下命令 -

Ctrl+A, S

这会将终端窗口垂直拆分为两个区域。

在区域之间导航

要在不同区域之间导航,您可以使用以下命令 -

Ctrl+A, Tab

这将在不同区域之间切换。

Ctrl+A, <arrow_key>

调整区域大小

您可以使用以下命令调整屏幕不同区域的大小 -

Ctrl+A, :resize +<number>

这将使当前区域的大小增加指定的行数。

Ctrl+A, :resize -<number>

这将使当前区域的大小减少指定的行数。

复制和粘贴文本

您可以使用以下命令在屏幕的不同区域之间复制和粘贴文本 -

Ctrl+A, [

这将进入复制模式。您可以使用箭头键导航到要复制的文本。

Spacebar(空格键)

这将开始选择文本。

Enter

这将复制选定的文本。

要粘贴复制的文本,您可以使用以下命令 -

Ctrl+A, ]

这将在光标位置粘贴复制的文本。

命名 Screen 会话

您可以使用以下命令为 Screen 会话命名,以便于识别 -

screen -S <session_name>

这将创建一个具有指定名称的新 Screen 会话。

screen -r <session_name>

这将重新连接到指定名称的 Screen 会话。

Screen 命令的高级用法

除了 Screen 命令的基本用法外,它还有一些高级功能可以让您的体验更佳。

创建具有特定配置的新会话

您可以使用配置文件创建具有特定配置的新 Screen 会话。如果您想自定义新 Screen 会话的环境,这将特别有用。

要创建具有特定配置的新 Screen 会话,您可以使用以下命令 -

screen -c <config_file>

这将创建一个具有配置文件中指定配置的新 Screen 会话。

自定义状态行

您可以自定义 Screen 命令的状态行以显示有关当前 Screen 会话的信息。这可以包括会话名称、时间和窗口数量。

要自定义状态行,您可以使用以下命令 -

Ctrl+A,:hardstatus string '<status_line>'

这将状态行设置为指定的字符串。

创建和切换窗口

除了将终端窗口拆分为多个区域外,您还可以在同一个 Screen 会话中创建和切换多个窗口。

要创建新窗口,可以使用以下命令 -

Ctrl+A, c

这将在同一个 Screen 会话中创建一个新窗口。

要在不同的窗口之间切换,可以使用以下命令 -

Ctrl+A, n

这将切换到下一个窗口。

Ctrl+A, p

这将切换到上一个窗口。

Ctrl+A, <window_number>

这将切换到指定的窗口编号。

向其他窗口发送命令

您可以在同一屏幕会话中向其他窗口发送命令,而无需切换到它们。

要向另一个窗口发送命令,您可以使用以下命令 -

Ctrl+A,:number <window_number> stuff '<command>
'

这将向指定窗口发送指定的命令。

监控其他窗口中的活动

您可以在同一屏幕会话中监控其他窗口中的活动,而无需切换到它们。

要监控另一个窗口中的活动,您可以使用以下命令 -

Ctrl+A,:monitor <window_number>

这将开始监控指定窗口中的活动。

要停止监控窗口中的活动,您可以使用以下命令 -

Ctrl+A, :monitor off

这将停止监控当前窗口中的活动。

结论

screen 命令是一个功能强大的实用程序,可以让您在 Linux 终端上工作时更加轻松。它允许您在单个 Shell 窗口内或通过 SSH 连接创建和管理多个终端会话。screen 命令能够将终端窗口拆分为多个区域、复制和粘贴文本以及在不同区域之间导航,即使您没有物理连接到服务器,它也能帮助您管理长时间运行的进程或多个命令。

在本文中,我们讨论了 Linux screen 命令的基础知识、其用法以及一些有效管理终端会话的实用技巧。我们希望本指南能够帮助您在 Linux 终端上工作时提高工作效率。


相关文章


有用资源