Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Linux screen命令的作用是什么?screen命令该如何使用?

Linux screen命令的作用是什么?screen命令该如何使用?

作者头像
房东的狗丶
发布于 2023-04-28 11:45:05
发布于 2023-04-28 11:45:05
1.8K00
代码可运行
举报
文章被收录于专栏:友人a的笔记丶友人a的笔记丶
运行总次数:0
代码可运行

参考文档:https://wangchujiang.com/linux-command/c/screen.html

关于screen

Screen 是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。

1.会话恢复

只要Screen本身没有终止,在其内部运行的会话都可以恢复。这一点对于远程登录的用户特别有用——即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制。只要再次登录到主机上执行screen -r就可以恢复会话的运行。同样在暂时离开的时候,也可以执行分离命令detach,在保证里面的程序正常运行的情况下让Screen挂起(切换到后台)。这一点和图形界面下的VNC很相似。

2.多窗口

在Screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。用户可以通过快捷键在不同的窗口下切换,并可以自由的重定向各个窗口的输入和输出。Screen实现了基本的文本操作,如复制粘贴等;还提供了类似滚动条的功能,可以查看窗口状况的历史记录。窗口还可以被分区和命名,还可以监视后台窗口的活动。 会话共享 Screen可以让一个或多个用户从不同终端多次登录一个会话,并共享会话的所有特性(比如可以看到完全相同的输出)。它同时提供了窗口访问权限的机制,可以对窗口进行密码保护。

常用命令

screen的会话状态:在线(Attached)、离线(Detach,正常运行)、终止(Dead,已停止)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 创建screen会话
$ screen -S session_name
# 挂起会话
$ screen -d session_name
# 恢复会话
$ screen -r session_name
# 会话存在则恢复,不存在则创建
$ screen -R session_name
# 查看会话列表
$ screen -ls
# 清理已终止的会话
$ screen -wipe
# 退出并关闭会话
$ exit

常用的快捷键操作(ctrl+a) :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
C-a ? -> 显示所有键绑定信息
C-a c -> 创建一个新的运行shell的窗口并切换到该窗口
C-a n -> Next,切换到下一个 window 
C-a p -> Previous,切换到前一个 window 
C-a 0..9 -> 切换到第 0..9 个 window
Ctrl+a [Space] -> 由视窗0循序切换到视窗9
C-a C-a -> 在两个最近使用的 window 间切换 
C-a x -> 锁住当前的 window,需用用户密码解锁
C-a d -> detach,暂时离开当前session,将目前的 screen session (可能含有多个 windows) 丢到后台执行,并会回到还没进 screen 时的状态,此时在 screen session 里,每个 window 内运行的 process (无论是前台/后台)都在继续执行,即使 logout 也不影响。 
C-a z -> 把当前session放到后台执行,用 shell 的 fg 命令则可回去。
C-a w -> 显示所有窗口列表
C-a t -> time,显示当前时间,和系统的 load 
C-a k -> kill window,强行关闭当前的 window
C-a  -> 进入 copy mode,在 copy mode 下可以回滚、搜索、复制就像用使用 [vi 一样
    C-b Backward,PageUp 
    C-f Forward,PageDown 
    H(大写) High,将光标移至左上角 
    L Low,将光标移至左下角 
    0 移到行首 
    $ 行末 
    w forward one word,以字为单位往前移 
    b backward one word,以字为单位往后移 
    Space 第一次按为标记区起点,第二次按为终点 
    Esc 结束 copy mode 
C-a ] -> paste,把刚刚在 copy mode 选定的内容贴上

高级应用 

1.会话共享

还有一种比较好玩的会话恢复,可以实现会话共享。假设你在和朋友在不同地点以相同用户登录一台机器,然后你创建一个screen会话,你朋友可以在他的终端上命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@TS-DEV ~]# screen -x

这个命令会将你朋友的终端Attach到你的Screen会话上,并且你的终端不会被Detach。这样你就可以和朋友共享同一个会话了,如果你们当前又处于同一个窗口,那就相当于坐在同一个显示器前面,你的操作会同步演示给你朋友,你朋友的操作也会同步演示给你。当然,如果你们切换到这个会话的不同窗口中去,那还是可以分别进行不同的操作的。

2.会话锁定与解锁

Screen允许使用快捷键C-a s锁定会话。锁定以后,再进行任何输入屏幕都不会再有反应了。但是要注意虽然屏幕上看不到反应,但你的输入都会被Screen中的进程接收到。快捷键C-a q可以解锁一个会话。

也可以使用C-a x锁定会话,不同的是这样锁定之后,会话会被Screen所属用户的密码保护,需要输入密码才能继续访问这个会话。

3.发送命令到screen会话

在Screen会话之外,可以通过screen命令操作一个Screen会话,这也为使用Screen作为脚本程序增加了便利。关于Screen在脚本中的应用超出了入门的范围,这里只看一个例子,体会一下在会话之外对Screen的操作:

[root@TS-DEV ~]# screen -S sandy -X screen ping www.baidu.com 这个命令在一个叫做sandy的screen会话中创建一个新窗口,并在其中运行ping命令。

4.屏幕分割

现在显示器那么大,将一个屏幕分割成不同区域显示不同的Screen窗口显然是个很酷的事情。可以使用快捷键C-a S将显示器水平分割,Screen 4.00.03版本以后,也支持垂直分屏,快捷键是C-a |。分屏以后,可以使用C-a 在各个区块间切换,每一区块上都可以创建窗口并在其中运行进程。

可以用C-a X快捷键关闭当前焦点所在的屏幕区块,也可以用C-a Q关闭除当前区块之外其他的所有区块。关闭的区块中的窗口并不会关闭,还可以通过窗口切换找到它。

5.C/P模式和操作

screen的另一个很强大的功能就是可以在不同窗口之间进行复制粘贴了。使用快捷键C-a 或者C-a [可以进入copy/paste模式,这个模式下可以像在vi中一样移动光标,并可以使用空格键设置标记。其实在这个模式下有很多类似vi的操作,譬如使用/进行搜索,使用y快速标记一行,使用w快速标记一个单词等。关于C/P模式下的高级操作,其文档的这一部分有比较详细的说明。

一般情况下,可以移动光标到指定位置,按下空格设置一个开头标记,然后移动光标到结尾位置,按下空格设置第二个标记,同时会将两个标记之间的部分储存在copy/paste buffer中,并退出copy/paste模式。在正常模式下,可以使用快捷键C-a ]将储存在buffer中的内容粘贴到当前窗口。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
LAMP架构应用实战—Apache服务mod_expires模块介绍
此模块是允许通过Apache配置文件控制HTTP的“expires”和“cache-control”头的内容,用于控制服务器应答时的“expires”头的内容和“cache-control”头的max-age的指令,这个有效期可以设置为对于源文件最后的修改时间或客户端访问的时间
民工哥
2020/09/16
3570
LAMP架构应用实战—Apache服务基于IP的虚拟主机配置
LAMP架构应用实战—Apache服务 基于IP的虚拟主机配置 基于IP的虚拟主机————就是说每个虚拟主机使用一个独立的IP地址 服务器配置多块网卡实现,或者同一块网卡配置多个IP实现都可以 今天模拟的环境是同一网卡配置多个IP地址实现基于IP的虚拟主机配置 一:新增IP地址 [root@Centos ~]# ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:0C:29:AA:CA:2B inet addr:192.16
民工哥
2020/09/16
8260
LAMP架构应用实战—Apache服务基于IP的虚拟主机配置
LAMP实战之构建博客网站
1、首先检查LAMP环境 [root@cairui htdocs]# ps -ef | grep httpd php 13160 1 0 Mar03 ? 00:00:
用户1173509
2018/03/28
1K0
LAMP实战之构建博客网站
学习笔记0509----LAMP架构(二)
一台服务器可以访问多个网站,每个网站都是一个虚拟主机 概念:域名(主机名)、DNS、解析域名、hosts 任何一个域名解析到这台机器,都可以访问的虚拟主机就是默认虚拟主机
嘻哈记
2020/11/24
9390
LAMP架构应用实战—Apache服务基于端口虚拟主机配置
前面介绍了基于域名、IP的虚拟主机配置,实际生产环境中使用最多的还是基于域名的虚拟主机,今天介绍的基于端口的虚拟主机也不常用,但用的最多的场景就是:公司内网(如网站后台页面、其它发布类的页面)
民工哥
2020/09/16
8820
LAMP架构应用实战—Apache服务基于端口虚拟主机配置
apache 虚拟主机配置详解_linux 配置虚拟主机
​ httpd.conf是Apache的主配文件,整个Apache也不过就是这个配置文件,里面几乎包含了所有的配置。有的distribution都将这个文件拆分成数个小文件分别管理不同的参数。但是主要配置文件还是以这个文件为主。只要找到这个文件名就知道如何设置了。后面会详细解释Apache主配文件的每一行配置
全栈程序员站长
2022/10/01
6.2K0
apache 虚拟主机配置详解_linux 配置虚拟主机
LAMP=Linux+Apache+Mysql+Php
一、当前互联网主流web服务 静态服务: 1.apache---中小型静态web服务的主流,web服务器中的老大哥 2.nginx---大型新型网络静态web服务主流,web服务器中的初生牛犊 3.lighttpd---静态web服务不温不火,逐渐被淘汰的意味,社区不活跃,效率很高。 动态服务: 1.IIS(Internet information services)---微软的web服务器(asp、aspx) 2.tomcat---中小企业动态web服务主流,互联网java容器主流(jsp,do) 3.r
用户1173509
2018/01/17
2K0
LAMP=Linux+Apache+Mysql+Php
LAMP架构应用实战——构建博客网站
这时打开浏览器输入http://blog.abc.com 进行wordpress安装
民工哥
2020/09/16
6040
LAMP架构应用实战——构建博客网站
Apache服务器问题
查看Apache的错误日志和访问日志,了解具体的错误信息。日志文件通常位于 /var/log/apache2 或 /var/log/httpd 目录下。
是山河呀
2025/02/03
1830
Centos6.8下编译安装LAMP的操作记录梳理
之前用的最多的web框架是LNMP,偶尔也会用到LAMP。接下来简单说下LAMP环境的部署记录,这里选择源码安装的方式: 1)Mysql的安装 部署过程参考:http://www.cnblogs.com/kevingrace/p/6109679.html 2)Apache的安装 依赖软件安装 [root@jenkins-server ~]# yum install gcc gcc-c++ make wget [root@jenkins-server ~]# yum install zlib-devel op
洗尽了浮华
2018/01/23
1.1K0
Centos6.8下编译安装LAMP的操作记录梳理
CentOS 7中Apache的优化与配置
记录下在CentOS 7中Apache的优化与配置的一些笔记,希望对大家有所帮助。
星哥玩云
2022/07/19
6510
Apache深度优化
一、开启apache的Gzip(deflate)功能 gzip可以极大的加速网站,压缩比率通常在40%~80%之间,在之前的版本中,Gizp是第三方压缩工具,但是在Gzip 2版本后,Apache自己开发了deflate模块,用来实现压缩功能。
小手冰凉
2019/12/24
7160
apache使用方法详解
在虚拟主机之上还能设置很多的功能,第二部分的内容都可以出现在每个虚拟主机部分,最精简的配置是需要有ServerName和DocumentRoot这两个配置,在添加了虚拟主机的配置之后需要把中心主机的信息也单独写成一个虚拟机的配置,(或者注销ServerName和DocumentRoot这两个配置),不然中心主机名的服务就不知道丢到哪里去了,这一步骤在Apache帮助文档中称做:取消中心主机 当然,如果你想有多个域名都指向到同一个虚拟主机是可以通过在块中配置ServerAlias功能来实现的。
小柒吃地瓜
2020/04/23
2.2K0
Linux下配置Apache httpd
httpd是Apache超文本传输协议(HTTP)服务器的主程序。它被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池对外提供服务。httpd支持基于 虚拟主机,以及基于HOST、IP、PORT实现虚拟主机,反向代理,负载均衡,路径别名,用户认证,basic,支持第三方模块等众多特性。本文主要描述了Linux下httpd(2.2版本)的相关基本配置。 1、配置文件概述 配置文件,主要分为3个部分: # grep "Section" /etc/httpd/conf/h
Leshami
2018/08/13
2.4K0
LAMP架构应用实战—Apache服务介绍与安装01
Apache是Apache基金会开发的一个高性能、功能强大、安全可靠、灵活的开放源码的WEB服务软件
民工哥
2020/09/16
3580
Apache优化——日志管理 原
说明: 将所有访问图片的请求定义为变量img,在访问记录(日志)中将其排除即可。重新加载后使用curl访问img变量中所指定格式的文件内容时将不会产生访问记录。  
阿dai学长
2019/04/03
6800
LAMP/LNMP环境下部署网站/导入PHP项目【VMware环境】
!>遇到报错可能有以下原因 1.防火墙未关闭 2.yum配置错误 3.具体请看报错信息,yum的总结的文件在另一个笔记本上,但是一般都是这两个问题~
思索
2024/08/16
3360
LAMP/LNMP环境下部署网站/导入PHP项目【VMware环境】
手把手教你,嘴对嘴传达 ----源码编译安装部署LAMP平台(LAMP平台与编译安装详解,Apache,MySQL与PHP源码编译安装,LAMP平台搭建论坛)
Linux操作系统之所以能够在十余年的时间里发展壮大以至于风靡全球,其开放源代码的特性是很重要的原因之一,及Linux操作系统中包括内核在内的所有软件都可以获得源代码,并且可以经过定制修改后编译安装。
不吃小白菜
2020/09/03
1.2K0
手把手教你,嘴对嘴传达 ----源码编译安装部署LAMP平台(LAMP平台与编译安装详解,Apache,MySQL与PHP源码编译安装,LAMP平台搭建论坛)
LAMP架构应用实战—Apache服务介绍与安装02
............................................................................................................................过程省略
民工哥
2020/09/16
6410
11.24 静态元素过期时间
配置静态元素过期时间目录概要 浏览器访问网站的图片时会把静态的文件缓存在本地电脑里,这样下次再访问时就不用去远程下载了 增加配置 <IfModule mod_expires.c> ExpiresActive on //打开该功能的开关 ExpiresByType image/gif "access plus 1 days" ExpiresByType image/jpeg "access plus 24 hours" ExpiresByType image/png "ac
运维小白
2018/02/06
9080
相关推荐
LAMP架构应用实战—Apache服务mod_expires模块介绍
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档