Linux 中使用 Screen 命令指南
如果你曾经在 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 会话的输出:
启动或进入你的 screen 会话。
启用日志记录:
这会在当前目录中创建一个名为
screenlog.0的文件。
关闭会话
要退出会话,只需在 screen 终端中输入
exit。这会终止 shell 并关闭会话。
如果你有多个窗口,必须退出所有窗口,或者通过输入以下命令关闭整个会话:
exit在每个窗口中。
高级技巧
回滚查看: Ctrl + A,然后按 Esc 可进入复制/回滚模式。
共享会话: 多个用户可以通过使用 multiuser mode 连接到同一个会话。
自定义配置: 修改 ~/.screenrc 以设置个人快捷键和偏好。
结论
screen 是任何管理长时间运行任务或通过 SSH 远程工作的 Linux 用户都必备的工具。它能够保持进程存活并可访问,使其对开发者、sysadmins 和爱好者来说都极其有价值。
探索 man screen 以了解更多功能——并开始在你的终端中更高效地工作!


