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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
linux screen 命令详解(可以中断终端界面运行)
系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。
青阳
2021/03/22
4.9K0
【linux命令讲解大全】175.轻松掌握Linux操作的利器——Screen会话管理工具
Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
全栈若城
2024/03/02
2480
Screen命令常见用法
Screen可以帮助管理员同时进行多项任务,实现后台运行程序的操作 常用语法和快捷键 语法和快捷键 说明 screen 进入screen模式 exit 退出当前窗口,如果它是此screen的唯一窗口时,此screen也将完全退出。 screen -ls 查看有哪些screen screen -d [pid/tty/host] 将指定的screen作业离线 screen -r [id/name] 打开编号为id或者名称为name的screen窗口 screen -wipe 清除死掉的会话 C-a d det
Huramkin
2018/09/17
3.5K0
Linux screen 命令
GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
为为为什么
2022/08/06
2K0
Linux screen 命令
Screen 使用
Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
用户1065635
2019/11/27
1.3K0
Tmux终端安装与使用
Tmux是一个优秀的终端复用软件,使用它的好处就是,通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机; 它支持:屏幕切分,而且具备丰富的命令行参数,使其可以灵活、动态的进行各种布局和操作。 你还可以通过 Tmux 使终端会话运行于后台或是按需接入、断开会话,这个功能非常实用
全栈工程师修炼指南
2022/09/28
1.6K0
Tmux终端安装与使用
运维必备:Linux系统下的两款终端多重会话工具
描述: 在 Linux 运维中通常会打开一个终端窗口(Terminal Windows),并在其命令行中输入执行已安装的命令,用户与计算机的这种临时交互,我们称为一次“会话(session)”。会话的一个重要特点是窗口与其中启动的进程是连在一起的。打开窗口会话开始;关闭窗口会话结束,会话内部的进程也会随之终止,不管有没有运行完成。
全栈工程师修炼指南
2024/05/28
5840
运维必备:Linux系统下的两款终端多重会话工具
Linux命令(18)——screen命令
screen是GNU计划开发的用于终端命令行的管理工具,可以新建和管理多个终端命令行会话,并提供切换,分离,挂接等相应的功能。
恋喵大鲤鱼
2018/08/03
1.8K0
可能是东半球最全面易懂的 Tmux 使用教程!( 强烈建议收藏 )
Tmux 是一个终端复用器(Terminal Multiplexer),非常有用,属于常用的开发、运维工具。本文将介绍如何使用 Tmux。
iMike
2019/10/24
18.2K0
可能是东半球最全面易懂的 Tmux 使用教程!( 强烈建议收藏 )
Tmux 快速教程:快捷键和配置
Tmux 简单来说就是终端里的『窗口管理器』,如果我使用终端登录到远程主机并运行前台程序,那么这个窗口等于就被占用了,想要看一下 CPU 的使用率,就得再连接一次。但是如果在远程主机上运行 tmux,那么就可以开启多个控制台(类似于窗口),相当高效,比方说可以像下面这样:
Debian中国
2018/12/20
3.7K0
Linux/UNIX 下终端复用利器 tmux
tmux 的三个重要概念:会话(session),窗口(window),窗格(pane)。
叨叨软件测试
2020/04/14
1K0
Linux/UNIX 下终端复用利器 tmux
Linux运维-Tmux使用技巧与最佳实践
Tmux 是 Terminal Multiplexer 的简称,它是一款优秀的终端复用软件,类似 GNU screen,但比screen更出色。tmux来自于OpenBSD,采用BSD授权。使用它最直观的好处就是, 通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机, 还有一个好处就是当终端关闭后该shell里面运行的任务进程也会随之中断,通过使用tmux就能很容易的解决这个问题。
王先森sec
2024/07/27
4080
Linux运维-Tmux使用技巧与最佳实践
screen 简单使用
      系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连 接,否则这个任务就会被杀掉,一切半途而废了。 作用: 会话恢复 只要Screen本身没有终止,在其内部运行的会话都可以恢复。这一点对于远程登录的用户特别有用——即使网络连接中断,用户也不会失去对已经打开的命令行
BGBiao
2018/02/26
1.2K0
Linux命令之screen——终端切换
Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
浩Coding
2019/07/03
6.5K0
Linux Screen命令提升运维效率
会话恢复:只要Screen本身没有终止,在其内部运行的会话都可以恢复。这一点对于远程登录的用户特别有用——即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制。只要再次登录到主机上执行screen -r就可以恢复会话的运行。同样在暂时离开的时候,也可以执行分离命令detach,在保证里面的程序正常运行的情况下让Screen挂起(切换到后台)。这一点和图形界面下的VNC很相似。
Power
2025/02/28
2180
tmux,你需要的终端神器
两者都是做终端复用的工具,相比于 screen,tmux 支持 Vi/Emacs 风格的键盘映射,更好的接口和文档,以及更好的脚本控制。所以建议使用 tmux!
PedroQin
2019/12/18
8500
tmux,你需要的终端神器
教Linux运维人员怎样使用screen
今天小编为大家分享的文章是关于Linux运维利器-screen的使用介绍,相信很多Linux运维人员对此都有所了解,下面跟小编一起来看一看文章内容吧。
小小科
2020/05/14
2K0
Linux 进程后台运行的几种方式(screen)
本文介绍了Linux进程后台运行的几种方式,包括nohup、setsid、screen等工具的使用方法,以及这些工具在系统管理、运维方面的应用。同时还介绍了如何通过screen工具创建、管理、恢复会话,以及如何使用nohup、setsid等命令在后台运行进程。
惨绿少年
2017/12/27
4.1K0
会话保持——Tmux 入门
Tmux 是一个终端复用器(terminal multiplexer) 类似的终端复用器还有 GNU Screen。
宸寰客
2020/07/13
6.1K0
会话保持——Tmux 入门
云服务器深度学习环境搭建
1. 登录 NVIDIA 驱动下载 或打开链接 http://www.nvidia.com/Download/Find.aspx 。
周朋伟
2019/12/02
19.9K0
云服务器深度学习环境搭建
相关推荐
linux screen 命令详解(可以中断终端界面运行)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验