介绍
在本实验中,你将学习如何在 Linux 中使用强大的 screen
命令。screen
命令允许你创建和管理多个终端会话,这对于长时间运行的进程、远程会话或在需要切换不同任务而不丢失工作内容时特别有用。你将首先安装 screen
包,然后创建并在多个 screen 会话之间进行导航。最后,你将学习如何分离和重新连接到 screen 会话,确保即使你需要断开终端连接,你的工作内容也能得到保留。
在本实验中,你将学习如何在 Linux 中使用强大的 screen
命令。screen
命令允许你创建和管理多个终端会话,这对于长时间运行的进程、远程会话或在需要切换不同任务而不丢失工作内容时特别有用。你将首先安装 screen
包,然后创建并在多个 screen 会话之间进行导航。最后,你将学习如何分离和重新连接到 screen 会话,确保即使你需要断开终端连接,你的工作内容也能得到保留。
在这一步中,你将学习 screen
命令,这是一个强大的工具,允许你创建和管理多个终端会话。screen
命令对于长时间运行的进程、远程会话或在需要切换不同任务而不丢失工作内容时特别有用。
首先,让我们在 Ubuntu 22.04 Docker 容器中安装 screen
包:
sudo apt-get update
sudo apt-get install -y screen
接下来,创建一个新的 screen 会话:
screen
这将启动一个新的 screen 会话,你会看到一条消息,表明你现在处于一个 screen 会话中。
要列出所有当前运行的 screen 会话,可以使用以下命令:
screen -ls
示例输出:
There is a screen on:
12345.pts-0.labex (Detached)
1 Socket in /run/screen/S-labex.
要从当前的 screen 会话中分离,按下 Ctrl+A
然后按 d
。这将会话保留在后台运行。
要重新连接到 screen 会话,使用以下命令:
screen -r
这将重新连接到正在运行的 screen 会话。
在这一步中,你将学习如何创建和导航多个 screen 会话,这是 screen
命令的一个强大功能。
首先,让我们创建一个带有自定义名称的新 screen 会话:
screen -S mysession
这将创建一个名为 "mysession" 的新 screen 会话。
接下来,再创建另一个 screen 会话:
screen -S othersession
现在,你有两个正在运行的 screen 会话。
要列出所有当前的 screen 会话,可以使用以下命令:
screen -ls
示例输出:
There are screens on:
12345.mysession (Detached)
67890.othersession (Detached)
2 Sockets in /run/screen/S-labex.
要在 screen 会话之间切换,可以使用以下命令:
## 切换到 "mysession" screen 会话
screen -r mysession
## 切换到 "othersession" screen 会话
screen -r othersession
当你在一个 screen 会话中时,可以使用以下键盘快捷键进行导航:
Ctrl+A c
:创建一个新的 screen 窗口Ctrl+A n
:切换到下一个 screen 窗口Ctrl+A p
:切换到上一个 screen 窗口Ctrl+A "
:列出所有 screen 窗口尝试创建并在多个 screen 会话之间切换,以熟悉其工作原理。
在这一步中,你将学习如何从一个 screen 会话中分离,并在稍后重新连接到它。
首先,让我们创建一个新的 screen 会话:
screen -S myapp
现在,在 screen 会话中启动一个长时间运行的进程,例如运行一个 web 服务器:
python3 -m http.server 8000
要从 screen 会话中分离,按下 Ctrl+A
然后按 d
。这将会话保留在后台运行。
你可以使用 screen -ls
命令验证 screen 会话是否仍在运行:
screen -ls
示例输出:
There is a screen on:
12345.myapp (Detached)
1 Socket in /run/screen/S-labex.
要重新连接到 screen 会话,使用以下命令:
screen -r myapp
这将重新连接到 "myapp" screen 会话,你应该会看到 web 服务器仍在运行。
要退出 screen 会话,按下 Ctrl+C
停止 web 服务器,然后按下 Ctrl+D
退出 screen 会话。
在本实验中,你学习了强大的 screen
命令,它允许你创建和管理多个终端会话。你安装了 screen
包,创建了一个新的 screen 会话,从中分离,然后重新连接到正在运行的会话。此外,你还学习了如何创建并在多个 screen 会话之间导航,这对于长时间运行的进程或在需要切换不同任务而不丢失工作内容时特别有用。
你还了解了如何列出所有当前运行的 screen 会话,并使用 screen -r
命令在它们之间切换。这些技能将帮助你在终端环境中更高效、更富有成效地工作。