IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 管理Linux终端的screen命令示例 -> 正文阅读

[系统运维]管理Linux终端的screen命令示例

screen是一个全屏幕软件程序,他可以用于在若干进程(一般交换的shells)之间复用一个物理console。它提供给用户在单个终端窗口管理器中打开若干单独的终端实例。

如果你从一个命令行接口处理多个程序以及对于从终端shell分开程序,screen非常有用。它也允许你与其他用户共享你的会话以及分离/连接终端会话。

首先安装screen:

[root@areadetector blctrl]# dnf install screen -y
Last metadata expiration check: 0:07:31 ago on Wed 29 Jun 2022 09:30:22 AM CST.
Dependencies resolved.
===================================================================================================================================================
 Package                           Architecture                      Version                                 Repository                       Size
===================================================================================================================================================
Installing:
 screen                            x86_64                            4.6.2-12.el8                            epel                            581 k
...

Installed:
  screen-4.6.2-12.el8.x86_64

Complete!
[root@areadetector blctrl]#

实际上,screen是一个在Linux中非常好的终端复用程序。

用以下示例展示在Linux中screen命令的用法:

首次启动screen

在命令提示中只要输入screen。接着screen将显示一个与命令提示完全相同的接口。

[root@areadetector blctrl]#

显示screen参数

当你输入screen时,你能够做所有如你在正常命令行环境中的工作。但由于screen是一个应用程序,所以它有命令或者参数。

输入不带引号的"ctrl-A"和"?"。则你将在这个screen上的所有命令或参数。

?要推出scren的帮助,你可以输入"空格"按钮或者"回车"。

用screen分离终端会话

screen的其中一个优势是你可以分离它。接着,你能够恢复它而不会丢失你已经在这个screen上做的任何事情。这是一个简单的场景:

你SSH登录到你的服务器中。我们说你正在使用curl命令下载OpenJDK16。

下载过程估计需要花费2小时时长。如果你断开SSH会话或者连接意外丢失,则下载过程将停止。你必须再次从头开始。为了避免那样,我们可以使用一个screen并且分离它。

看一下这个命令。首先,你必须输入screen。

[root@localhost dbuser]#

接着你可以进行下载过程。例如在AmaLinux上,使用curl命令。下载输出如下:

?当下载正在进行时,你可以输入"ctrl+A"和"d"。当你按下那些键时,你将看不到任何东西。输出像这样:

[detached from 51614.pts-1.localhost]
[root@localhost dbuser]# 

用screen重新连接终端会话

在你分离这个screen后,我们就说你能够断开你的SSH会话并且回家。在你家里,你再次启动SSH到你的服务器并且你想要看一下你下载进程的进度。为了做这件事,你需要恢复这个screen。你可以运行这条命令:

[root@localhost dbuser]# screen -r

并且你将看到你留下的下载过程已经运行结束了。

[root@localhost dbuser]# curl  -O https://download.java.net/java/GA/jdk16.0.2/d4a915d82b4c4fbb9bde534da945d746/7/GPL/openjdk-16.0.2_linux-x64_bin.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  175M  100  175M    0     0  13.8M      0  0:00:12  0:00:12 --:--:-- 11.4M

当你有多个screen会话,你需要输入screen会话ID。使用screen -ls看到多少个screens是可用的。

[root@localhost dbuser]# screen -ls
There is a screen on:
        51614.pts-1.localhost   (Detached)
1 Socket in /run/screen/S-root.

如果你要恢复screen 61614.pts-1.localhost,你输入这条命令:

[root@localhost dbuser]# screen -r 51614

使用多个screen终端窗口

当你需要多个screen来进行你的工作时,可能吗?可能的。你可以同时运行多个screen窗口。做这件事有两种方式。

第一种,你可以在真实终端中分离第一个screen并且允许另一个screen。?第二种方式,你进行嵌套screen。

在Screen终端窗口之间切换

当你做了嵌套screen,你可以使用"Ctr+A"和"n"在screen之间切换。它将移动到下个screen。当你需要回退到前一个screen,只要按"Ctrl+A"和"p"。

要创建一个新screen窗口,只要按"Ctrl+A"和"c"。

在Linux中使能Screen登录

有时记录下你在console中时所作事情是重要的。假设你是一个管理很多Linux服务器的Linux管理员。

用screen登录,你不需要几下你已经做的每个单条命令。要激活screen日志功能,只要按"ctrl-A"和"H"。(请小心,我们使用大写'H'字母。使用小写'h',将只在另一个名为hardcopy文件中创建这个screen的一个截屏)。

在这个screen的左下角,将有一个像这样告诉你的通知: Create logfile "screenlog.0"。你将在你的家目录中发现screenlog.0文件。

这种特性将在末尾添加你在这个screen窗体中时做的所有事情。要关闭screen激活运行日志,再次按"ctrl-A"和"H"。

激活日志特性的另一种方式是,你在首次运行screen时添加参数"-L"。命令像这样:

[root@localhost dbuser]# screen -L

锁定Linux终端screen

screen也有锁屏的快捷方式。你可以按"ctrl+A"和"x"快捷方式来锁屏。如果你想要快速锁屏,这是方便的。这是在你按快捷方式后锁屏输出的样子。

Screen used by root <root> on localhost.
Password:

你可以使用你的Linux密码来解锁它。

离开screen终端会话

有两种方式离开screen。第一种使用"Ctrl+A"和"d"分离这个screen。第二种,我们可以使用exit命令终结这个screen。我们也可以使用"ctrl+A"和"K"来杀掉这个screen。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-07-03 11:10:24  更:2022-07-03 11:11:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/5 16:13:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码