当前位置: 首页 > news >正文

Linux命令-screen(终端复用器)

Linux命令-screen(终端复用器)

    • 快速参考
    • 安装 screen
    • 基本用法
    • 常用快捷键
    • 实际使用场景
    • screen 配置文件
    • 与 tmux 对比
    • 故障排查
    • 总结

快速参考

screen是终端复用器,允许在一个终端窗口中运行多个终端会话。它的核心功能是会话分离(detach)和恢复(attach),即使 SSH 连接断开,screen 中的程序仍然继续运行。这对于长时间运行的任务(编译、训练、下载等)非常有用。

对比 tmux:tmux 更现代、功能更丰富,但 screen 仍广泛使用。新项目推荐 tmux。

安装 screen

# Debian/Ubuntusudoaptinstallscreen# RHEL/CentOSsudoyuminstallscreen# Arch Linuxsudopacman-Sscreen# 验证安装whichscreenscreen--version

基本用法

# 创建新会话screen# 创建命名会话(推荐)screen-Swork# 分离会话(在 screen 中按快捷键)# Ctrl+A, d# 查看所有会话screen-ls# 恢复会话screen-r# 恢复指定会话screen-rwork# 强制恢复(如果会话被其他终端附加)screen-d-rwork# 杀死会话screen-X-Swork quit

常用快捷键

# 所有快捷键以 Ctrl+A 为前缀# Ctrl+A, c 创建新窗口# Ctrl+A, n 切换到下一个窗口# Ctrl+A, p 切换到上一个窗口# Ctrl+A, 0-9 切换到指定编号的窗口# Ctrl+A, " 显示窗口列表# Ctrl+A, w 显示窗口栏# Ctrl+A, d 分离会话(detach)# Ctrl+A, k 杀死当前窗口# Ctrl+A, A 重命名当前窗口# Ctrl+A, ? 显示帮助# Ctrl+A, [ 进入复制模式(滚动)# Ctrl+A, ] 粘贴# Ctrl+A, S 水平分割# Ctrl+A, | 垂直分割(需补丁)# Ctrl+A, Tab 切换分割区域# Ctrl+A, X 关闭当前分割区域

实际使用场景

# === 场景1:长时间运行任务 ===# 1. 创建 screen 会话screen-Straining# 2. 运行长时间任务python train_model.py# 3. 分离会话:按 Ctrl+A, d# 4. 查看所有会话screen-ls# 5. 恢复会话screen-rtraining# === 场景2:远程服务器维护 ===# 1. SSH 登录服务器sshuser@server# 2. 创建 screen 会话screen-Smaintenance# 3. 执行维护操作sudoaptupdate&&sudoaptupgrade# 4. 如果 SSH 断开,任务不会中断# 5. 重新连接后恢复screen-rmaintenance# === 场景3:多窗口工作 ===# 1. 创建会话screen-Sdev# 2. 创建多个窗口# Ctrl+A, c 创建新窗口# 窗口0:运行 vim 编辑代码# 窗口1:运行测试# 窗口2:查看日志# 3. 在窗口间切换# Ctrl+A, n 下一个窗口# Ctrl+A, p 上一个窗口# Ctrl+A, 0 切换到窗口0# === 场景4:与他人共享会话 ===# 1. 用户A创建会话screen-Sshared# 2. 启用多用户# Ctrl+A, :multiuser on# 3. 用户B加入sudoscreen-xuserA/shared

screen 配置文件

# 创建 ~/.screenrccat>~/.screenrc<<'EOF' # 关闭启动信息 startup_message off # 设置滚动缓冲区 defscrollback 10000 # 显示状态栏 hardstatus on hardstatus alwayslastline hardstatus string "%{.bW}%-w%{.rY}%n %t%{-}%+w %=%{.G} %H %{.Y} %Y-%m-%d %c " # 自动分离(SSH断开时) autodetach on # 设置编码 encoding UTF-8 # 设置默认 Shell shell /bin/bash # 新窗口自动执行 # screen -t "top" 0 top # screen -t "log" 1 tail -f /var/log/syslog EOF

与 tmux 对比

┌─────────────────────────────────────────────┐ │ 功能 │ screen │ tmux │ ├─────────────────────────────────────────────┤ │ 前缀键 │ Ctrl+A │ Ctrl+B │ │ 分割 │ 水平(需补丁)│ 水平+垂直 │ │ 状态栏 │ 需配置 │ 默认启用 │ │ 鼠标支持 │ 有限 │ 更好 │ │ 脚本化 │ 有限 │ 更好 │ │ 性能 │ 较好 │ 较好 │ │ 维护状态 │ 维护模式 │ 活跃开发 │ └─────────────────────────────────────────────┘

故障排查

# 问题1:screen -r 报错 "Attach with a suitable terminal"# 解决:指定终端类型TERM=xtermscreen-r# 问题2:screen -r 报错 "There is no screen to be resumed"# 解决:查看所有会话screen-ls# 问题3:无法滚动# 解决:进入复制模式# Ctrl+A, [ 然后使用方向键滚动# 按 Esc 或 Enter 退出# 问题4:screen 会话显示 "Attached"# 解决:强制分离再恢复screen-d-rsession_name

总结

核心价值screen是终端会话管理的经典工具,会话分离功能确保长时间任务不会因 SSH 断开而中断。

常用组合

  • screen -S name:创建命名会话
  • Ctrl+A, d:分离会话
  • screen -r name:恢复会话
  • screen -ls:列出所有会话

推荐:新项目优先使用 tmux,但 screen 在所有 Linux 系统上都可用,是可靠的备选。

http://www.cnnetsun.cn/news/3516387.html

相关文章:

  • 压缩技术的革命:当7-Zip遇见现代算法生态
  • 8051单片机开发入门:Keil环境搭建与GPIO实战
  • MaaYuan:代号鸢与如鸢游戏的终极自动化解决方案
  • AM64x/AM243x硬件防火墙配置实战:从寄存器解析到多核安全架构设计
  • iOS激活锁终极解决方案:免费解锁iPhone 6s-X设备的完整指南
  • 解锁Koikatu游戏无限可能:200+插件整合补丁深度体验指南
  • 幻兽帕鲁存档转换终极指南:从神秘二进制到可读JSON的完整解决方案
  • Ryujinx Switch模拟器终极教程:如何在电脑上免费畅玩任天堂Switch游戏
  • 深入解析:EASY-HWID-SPOOFER硬件信息伪装技术的核心原理与实践指南
  • 告别卡顿!用Squirrel-RIFE让老旧视频瞬间流畅的AI补帧神器
  • 视频内容管理系统构建指南:从分类到自动化处理
  • GetQzonehistory:你的QQ空间时光机,一键找回所有青春记忆
  • FanControl终极指南:告别风扇噪音,5步实现Windows电脑精准散热控制
  • PMSuperButton高级定制:创建自定义按钮样式的完整代码示例
  • 论文答辩紧张翻车低分?2026高校答辩评分细则|Okbiye满分自述+应答模板稳过不慌
  • Loop窗口管理神器:5个高效分屏快捷键技巧让你的Mac生产力翻倍
  • C语言核心原理与现代应用场景解析
  • 暗黑破坏神2存档编辑器完全指南:免费开源d2s-editor终极教程
  • 全栈开发核心技术解析与实战指南
  • 网盘直链下载助手:浏览器中直接获取下载链接的终极解决方案
  • 深度解析:IDR如何实现Delphi程序逆向工程的3大核心技术突破
  • 拯救你的Android电池:Battery Charge Limit完整使用指南
  • 如何永久保存微信聊天记录:WeChatMsg免费终极指南
  • KMS_VL_ALL_AIO:一键解决Windows和Office激活难题的高效工具
  • PHP开发资源大全:从基础到高级实战指南
  • 在Windows上安装Android应用:APK Installer终极指南
  • ARM7看门狗原理与嵌入式系统故障恢复实践
  • 2026工控一体机选型指南与TOP5厂商评测
  • Open WebUI工具调用架构解析:让AI真正成为你的智能助手
  • 终极免费音频转换器fre:ac:开源跨平台解决方案的完整指南