Linux命令:screen

screen 命令

基本介绍

screen 命令用于创建和管理多个终端会话,允许用户在单个终端窗口中运行多个命令,并且可以在会话之间切换,即使断开连接后也能保持进程运行。

资料合集:https://pan.quark.cn/s/6fe3007c3e95https://pan.quark.cn/s/561de99256a5https://pan.quark.cn/s/985f55b13d94https://pan.quark.cn/s/d0fb20abd19a

语法

复制代码
screen [选项] [命令]

常用选项

  • -S:创建一个指定名称的会话
  • -r:重新连接到一个已存在的会话
  • -d:分离一个会话
  • -ls:列出所有会话
  • -x:连接到一个正在运行的会话
  • -D:强制分离一个会话
  • -h:设置滚动缓冲区大小

使用示例

1. 创建一个新的会话

bash 复制代码
screen

2. 创建一个指定名称的会话

bash 复制代码
screen -S mysession

3. 列出所有会话

bash 复制代码
screen -ls

4. 重新连接到一个会话

bash 复制代码
screen -r session_id

5. 分离当前会话(快捷键)

bash 复制代码
Ctrl+a d

6. 连接到一个正在运行的会话

bash 复制代码
screen -x session_id

7. 在会话中创建新窗口(快捷键)

bash 复制代码
Ctrl+a c

8. 在窗口之间切换(快捷键)

bash 复制代码
Ctrl+a 数字键

9. 查看窗口列表(快捷键)

bash 复制代码
Ctrl+a "

10. 关闭当前窗口(快捷键)

bash 复制代码
Ctrl+a k

常用快捷键

  • Ctrl+a c:创建新窗口
  • Ctrl+a d:分离会话
  • Ctrl+a k:关闭当前窗口
  • Ctrl+a ":查看窗口列表
  • Ctrl+a 数字:切换到指定窗口
  • Ctrl+a n:切换到下一个窗口
  • Ctrl+a p:切换到上一个窗口
  • Ctrl+a Ctrl+a:切换到之前的窗口
  • Ctrl+a ?:显示帮助信息

会话管理

创建会话

bash 复制代码
screen -S session_name

分离会话

bash 复制代码
Ctrl+a d  # 快捷键
# 或
screen -d session_id

重新连接会话

bash 复制代码
screen -r session_id

强制分离并重新连接

bash 复制代码
screen -D -r session_id

终止会话

bash 复制代码
# 在会话中执行
exit
# 或
screen -X -S session_id quit

相关命令

  • tmux:功能类似的终端复用工具
  • nohup:使命令在后台运行,断开连接后继续执行
  • disown:使进程与终端分离
  • bg:将前台作业移至后台

注意事项

  • screen 会话在断开连接后会继续运行,适合长时间运行的任务
  • 可以通过 ~/.screenrc 文件自定义 screen 的配置
  • 在会话中运行的进程会随着会话的终止而终止
  • 可以使用 screen -X 向会话发送命令

总结

screen 命令是 Linux 系统中强大的终端复用工具,它允许用户在单个终端窗口中管理多个会话,并且可以在断开连接后保持进程运行。通过使用 screen,用户可以更有效地管理远程服务器上的长时间运行任务,提高工作效率。

相关推荐
不一样的少年_2 小时前
Docker 入门第一课:从架构、云服务器到安装完成
linux·docker·云计算
M78佐菲2 小时前
Linux学习笔记:目录IO与帧缓冲
linux·笔记·学习·算法
三8442 小时前
WordPress SQL 注入漏洞分析:从 author__not_in 参数到 REST API 全链路
linux·前端·数据库
MX_93592 小时前
Docker入门
运维·docker·容器
SCandL1522 小时前
k8s工作原理
linux·运维·服务器
优梦创客2 小时前
游戏开发架构选型:第3篇|从单机足球到联网游戏:主程级架构与热更新
服务器·架构·游戏开发·游戏架构
其实防守也摸鱼2 小时前
如何使用自动化教育SRC漏洞挖掘系统--AutoHunter
运维·网络·人工智能·学习·安全·web安全·自动化
weixin_444579303 小时前
Rockylinux 与 K8s 的安装
linux·云原生·容器·kubernetes
听风3473 小时前
Arch Linux 包管理 TUI 工具集
linux·服务器·archlinux
Allen_LVyingbo3 小时前
面向电子病历的批量语义分析自动化工具:从设计到实战(上)
运维·人工智能·机器学习·语言模型·自然语言处理·自动化·健康医疗