news 2026/5/25 9:53:50

【Linux 基础知识系列:第二百零八篇】使用 screen 管理远程会话

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Linux 基础知识系列:第二百零八篇】使用 screen 管理远程会话

一、简介:为什么必须学会 screen?

在日常运维、远程开发、服务器部署过程中,我们经常会遇到以下尴尬场景:

  • 正在执行一个耗时很长的编译任务,突然网络波动,SSH 连接断开,任务被迫中断,前功尽弃。

  • 需要同时打开多个终端窗口,切换频繁,管理混乱。

  • 多人协作时,需要共享同一个终端会话,方便协作和演示。

screen正是为解决这些问题而生的强大工具。它是一个终端复用器(Terminal Multiplexer),可以让你在一个 SSH 会话中创建多个窗口,并且即使网络断开,任务依然在后台运行,稍后可以继续连接恢复会话。

掌握 screen,你将获得:

  • 会话保持:网络断开,任务不中断。

  • 多窗口管理:一个连接,多个终端,切换自如。

  • 会话共享:多人协作,实时共享终端。


二、核心概念:快速理解 screen 的组成

概念解释
Session(会话)screen 创建的一个独立工作环境,可以包含多个窗口。
Window(窗口)会话中的一个终端窗口,可以运行不同的命令或程序。
Detach(分离)将会话从当前终端“脱离”,任务继续在后台运行。
Attach(恢复)重新连接到一个已分离的会话,继续操作。
快捷键前缀默认是Ctrl + a,所有 screen 命令都通过它触发。

三、环境准备:安装 screen(一条命令搞定)

screen 在主流 Linux 发行版中默认已安装,如未安装,执行以下命令:

# Ubuntu / Debian sudo apt update && sudo apt install screen # CentOS / RHEL sudo yum install screen # 验证是否安装成功 screen -v

输出示例:

Screen version 4.08.00 (GNU) 2-Feb-20


四、命令与示例:从创建会话到恢复会话,手把手教学

以下命令均可直接复制粘贴使用,建议边学边操作。


4.1 创建一个新会话

screen -S build
  • -S参数为会话指定一个名字,方便后续管理。

  • 执行后,你会进入一个新的终端窗口,看起来和原来一样,但实际上已经在 screen 会话中。


4.2 分离会话(让任务在后台继续运行)

假设你正在编译代码,突然需要断开 SSH,先分离会话:

快捷键方式

Ctrl + a 然后按 d

  • 你会回到原来的终端,screen 会话仍在后台运行。

命令方式

screen -d build

4.3 查看当前所有会话

screen -ls

输出示例:

There are screens on: 12345.build (Detached) 12346.monitor (Detached) 2 Sockets in /run/screen/S-username.

4.4 恢复(重新连接)会话

screen -r build
  • 你会回到之前的终端,任务继续运行,仿佛从未断开。


4.5 创建多个窗口(一个会话内)

在 screen 会话中,创建新窗口:

Ctrl + a 然后按 c

  • 创建一个新窗口,编号递增。

  • 窗口列表查看:

Ctrl + a 然后按 "

  • 会显示窗口列表,用方向键选择切换。


4.6 窗口间切换

快捷键功能
Ctrl + a然后n切换到下一个窗口
Ctrl + a然后p切换到上一个窗口
Ctrl + a然后0~9直接跳转到指定编号窗口

4.7 锁定会话(防止误操作)

Ctrl + a 然后按 x

  • 输入系统密码后解锁,适合临时离开座位。


4.8 会话共享(多人协作)

步骤

  1. 用户A创建会话并授权:

    screen -S pair Ctrl + a 然后按 :multiuser on Ctrl + a 然后按 :acladd userb
  2. 用户B加入会话:

    screen -x usera/pair
  • 双方实时共享终端,适合演示和协作调试。


五、常见问题与解答(FAQ)

问题解决方案
断开后重新登录,提示screen -ls无会话?可能使用了exit退出了 screen 会话,正确方式是Ctrl + a然后d分离。
如何彻底关闭一个会话?在会话中输入exitCtrl + d即可终止。
如何清除 dead 会话?screen -wipe可以清理 dead 状态的会话。
窗口太多,如何自定义窗口名称?Ctrl + a然后按A,输入名称即可。
如何查看当前窗口编号?Ctrl + a然后按w,会在底部显示窗口列表。

六、实践建议与最佳实践

  1. 命名规范:为会话起有意义的名字,如deploybuildlog,方便管理。

    screen -S deploy
  2. 结合脚本自动化:在脚本中自动创建会话并运行任务,例如:

    #!/bin/bash screen -dmS backup bash -c 'rsync -av /data /backup; echo "Done" >> /tmp/backup.log'
    • -dm表示后台创建并分离会话。

  3. 使用.screenrc个性化配置
    创建~/.screenrc文件:

    # 显示窗口栏 hardstatus on hardstatus alwayslastline hardstatus string '%{= kG}[ %H ] %?%{= kw}%?%-Lw%?%{= kR}%?%n*%f %t%?%{= kw}%?%+Lw' # 默认开启滚动条 defscrollback 10000
    • 启动 screen 后自动生效,界面更友好。

  4. 与 tmux 对比选择

    • screen:简单易用,系统默认安装,适合快速上手。

    • tmux:功能更强大,支持窗口分割、插件等,适合高级用户。

    • 建议:先掌握 screen,再过渡到 tmux。

  5. 安全提示

    • 共享会话时,谨慎授予写权限,避免误操作。

    • 在公共环境使用lock功能,防止他人窥探。


七、总结:一张脑图带走全部要点

screen 会话管理 ├─ 创建:screen -S name ├─ 分离:Ctrl + a 然后 d ├─ 恢复:screen -r name ├─ 窗口:Ctrl + a 然后 c/n/p/0-9 ├─ 共享:multiuser + acladd └─ 最佳实践:命名规范 + 自动脚本 + .screenrc

掌握 screen,你将拥有:

  • 永不掉线的终端会话

  • 高效的多窗口工作环境

  • 多人协作的共享终端

下次远程连接,别再担心网络中断!立刻打开终端,输入screen -S work,开始你的“不掉线”Linux 之旅吧!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/25 11:37:01

18.3 产品定位:差异化竞争优势挖掘

18.3 产品定位:差异化竞争优势挖掘 课程概述 在前两节课中,我们完成了个人助理Bot项目的需求分析和竞品研究。基于这些分析结果,本节课我们将进行产品定位,明确我们的个人助理Bot在市场中的位置,并挖掘我们的差异化竞争优势。 通过本节课的学习,你将能够: 理解产品定…

作者头像 李华
网站建设 2026/5/25 7:44:20

股票基础-第29课-常用金融因子与量化策略

一、因子投资理念 1.1 什么是因子? 定义: 影响股票收益的特征或属性。 常见因子: 价值因子:低PE、低PB 动量因子:近期涨幅 规模因子:市值大小 质量因子:ROE、盈利稳定性 1.2 因子如何用于选股? 方法: 根据因子筛选股票 构建投资组合 获得因子收益 示例: 选择低PE…

作者头像 李华
网站建设 2026/5/26 6:12:12

【电商技术突围】:用Open-AutoGLM实现订单自动分单、打单、发货全流程

第一章:电商订单自动化处理的挑战与机遇随着电商平台交易规模的持续增长,订单处理的效率与准确性成为企业运营的核心竞争力之一。传统的手工或半自动化处理方式已难以应对高并发、多渠道、多平台的订单洪流,系统响应延迟、数据不一致、错发漏…

作者头像 李华
网站建设 2026/5/26 5:38:21

Open-AutoGLM工单自动路由机制,精准派单准确率达98.7%的秘密

第一章:Open-AutoGLM工单自动路由机制,精准派单准确率达98.7%的秘密Open-AutoGLM 是一款基于大语言模型与规则引擎深度融合的智能工单路由系统,其核心在于通过语义理解、上下文推理与动态权重调整,实现对海量工单的毫秒级精准分发…

作者头像 李华
网站建设 2026/5/25 21:33:10

电商运营效率提升300%的秘密武器(Open-AutoGLM全自动上下架实战)

第一章:电商运营效率提升300%的秘密武器(Open-AutoGLM全自动上下架实战)在竞争激烈的电商环境中,商品上下架的时效性直接决定转化率与库存周转效率。传统人工操作不仅耗时耗力,还容易出错。Open-AutoGLM 作为开源自动化…

作者头像 李华