screen
是一个终端复用器,允许你在一个终端窗口中创建多个会话并在它们之间切换,支持会话断开和恢复,非常适合后台运行进程或在多个任务之间切换。以下是 screen
工具的详细教程,涵盖了常用的命令和功能。
1. 安装 screen
在 CentOS 系统上,你可以通过 yum
来安装 screen
:
sudo yum install screen
安装完成后,使用以下命令检查 screen
的版本,确认安装成功:
screen --version
2. 启动一个新的 screen
会话
启动一个新的 screen
会话:
screen
这会打开一个新的 screen
会话,你可以在其中运行任何命令或程序。
3. 创建多个 screen
会话
你可以同时运行多个 screen
会话。每次启动一个新的 screen
会话,只需再次执行:
screen
每个新会话都将进入一个独立的环境,你可以在多个会话之间切换。
4. 在 screen
中运行命令
进入 screen
会话后,你可以像平常一样运行命令。举例来说,你可以运行 Redis 或其他服务:
redis-server /etc/redis/redis.conf
或者任何你想要在后台运行的任务。
5. 将 screen
会话置于后台
要将当前的 screen
会话置于后台,按下 Ctrl + A
然后按 D
。这将使你离开当前会话,而该会话将继续在后台运行。
Ctrl + A
:告诉screen
你正在执行一个命令。D
:将会话“分离”或置于后台。
6. 查看当前的 screen
会话
如果你想查看当前的所有 screen
会话,可以运行:
screen -ls
这将列出所有运行中的 screen
会话,输出示例:
There is a screen on:
1234.pts-0.hostname (Detached)
1 Socket in /run/screens/S-username.
- 这里
1234
是会话的 ID。
7. 重新附加到一个 screen
会话
如果你已经将某个会话置于后台并且想要重新连接它,可以使用以下命令:
screen -r [会话ID]
例如:
screen -r 1234
如果只有一个会话在运行,使用 screen -r
也能自动恢复。
8. 关闭 screen
会话
退出 screen
会话有两种方式:
- 直接退出
:
- 在
screen
会话中,输入exit
或按Ctrl + D
,该会话将会结束。
-
结束会话后自动退出
:
- 如果你运行的是一个后台服务或程序(比如 Redis),退出
screen
会话不会终止进程,程序将继续运行。
9. 切换会话
你可以在多个 screen
会话之间进行切换。以下是一些常用的切换命令:
- 切换到下一个会话:
按下
Ctrl + A
,然后按N
(Next),切换到下一个会话。 -
切换到上一个会话:
按下
Ctrl + A
,然后按P
(Previous),切换到上一个会话。 -
直接切换到特定会话:
按下
Ctrl + A
,然后按"
(双引号),这将列出所有会话,你可以选择并切换到指定的会话。
10. 会话命名
如果你有多个会话运行,给每个会话命名会很有帮助。使用以下命令启动 screen
时指定会话名称:
screen -S mysession
这将创建一个名为 mysession
的 screen
会话。你可以使用以下命令来恢复该会话:
screen -r mysession
11. 其他有用的 screen
命令
- 分离会话并保留在后台:
Ctrl + A
+D
:将当前会话分离,进程继续在后台运行。 -
查看所有快捷键:
按下
Ctrl + A
后,按?
可以查看screen
的快捷键列表。 -
发送信号到会话:
你可以通过
screen
发送信号到后台运行的进程:screen -S [会话ID] -X quit
这将结束指定的会话。
-
与多个终端共享同一个会话:
使用
Ctrl + A
然后按:multiuser on
来启用多人共享模式,其他用户可以使用screen -x
连接到该会话。
总结
screen
使你能够创建多个独立的会话并在它们之间切换。- 它支持后台运行进程,即使关闭终端或断开连接,进程也会继续运行。
- 常用操作包括创建新会话、切换会话、分离和恢复会话。
通过掌握 screen
的使用,可以大大提高在命令行界面中管理多个任务的效率。
Comments NOTHING