Linux的screen是一个非常常用的命令,可以在一个终端窗口中运行多个会话,并在会话之间自由切换。接下来我将介绍screen命令的基本用法以及常用命令操作,方便站长们进行服务器管理操作。
一、screen命令的作用
screen命令被称为终端多路复用器,可以在单个会话中创建多个虚拟终端,在这些虚拟终端中可以启动不同的终端程序、命令行界面和要运行的任务等等。这种功能非常适合管理和维护远程服务器。
二、screen命令的使用方法
安装screen命令
使用下面指令安装screen命令,如未安装该命令,它可以在root用户下运行一下代码进行安装。
yum install screen -y
基本用法
运行screen命令
screen
执行上述指令后,会进入到一个新的终端窗口,我们可以在这个终端窗口中执行各种命令,执行完命令之后不退出,而是通过screen命令的退出方式来控制它们的关闭。
关闭screen
如果想要关闭当前的screen虚拟终端会话,执行下列操作:
-
输入
exit
命令,或者logout
命令,退出并回到主终端窗口。此时该 screen 会话关闭。 -
使用快捷键
Ctrl+a
,后松开,紧接着输入d
命令。此时该 screen 会话进入后台。
恢复screen
关闭 screen 会话后,我们要恢复之前的会话状态,执行以下操作:
screen -r
这个命令可以恢复上次运行的最后一个screen会话。
如果在前台没有什么特别的情况,例如在某个程序输入补全等,可以在公共写作载体下执行指令:
screen -x
它相当于配合 'r' 与 'd' 操作使用,接受多个相同用户、同盟用户同时使用screen。
高级用法
以下是screen更高级的使用方法:
1.创建具有自定义会话名称的screen
screen -S session_name
这个命令将创建一个名为session_name的screen,便于识别和恢复。
2.从不同的终端和/或主机连接到screen
在我们进行远程服务器管理时,常常需要从不同的终端(比如从自己的台式机和笔记本电脑中)或从不同的主机(比如我们的同事的电脑)连接到远程会话中。通过使用 -d -r 选项,我们可以在多个位置同时连接到同一个screen会话。
screen -d -r session_name
结合session_name,我们可以利用这个命令连接到之前创建的具体screen。
3.列出所有的screens
screen -ls
使用这个命令可以列出属于当前用户的所有screens。
4.按键映射
screen -h
这个命令会列出screen支持的所有命令。我们可以通过键映射(也称为绑定)将新的功能添加到屏幕上,也可以更改默认命令。以下是一些常用命令:
命令 | 执行操作 |
---|---|
Ctrl+a ? |
列出所有的键映射。 |
Ctrl+a c |
创建一个新的屏幕窗口。 |
Ctrl+a n |
在当前窗口中切换到下一个屏幕窗口。 |
Ctrl+a p |
在当前窗口中切换到前一个屏幕窗口。 |
Ctrl+a <num> |
将屏幕窗口更改为< num>,可以输入窗口编号0-9。 |
Ctrl+a d |
将当前screen窗口分离,但不关闭它。这可以让你回到shell提示符,因为此时你已经处于不同的会话之间。 |
三、使用示例
示例一
在一个window下面运行一个node项目,我们可以在执行了node之后,按下Ctrl+A,之后再按下D,即可让这个screen分离。
$ screen
$ node app.js
$ Ctrl+a d
此时,node项目进程不会退出,我们可以重新连接到这个screen继续操作:
$ screen -r
或者
$ screen -r session_name
session_name就是你之前设置的名称。
示例二
打开screen后,我们有多种方式来打开多个窗口,例如:
Ctrl+a c
这个命令可以开启一个新的窗口,当然也可以执行其他命令:
Ctrl+a |
可以开启一个竖屏窗口。
Ctrl+a S
可以按照左右方式进行水平划分。
Ctrl+a Tab
可以来回跳转不同的窗口。
以上就是screen命令的完整攻略。希望可以对站长们有所帮助,提高SSH终端的操作效率。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Linux screen命令:在单个终端窗口中运行多个命令会话 - Python技术站