`

Screen 常用命令详解

阅读更多

screen为多重视窗管理程序。
1.安装:
rmp -ivh screen-4.0.2-5
2.启动:
screen
默认会启动一个screen进程,读取/etc/scrennrc配置文件,~/.screenrc配置文件(如果有的话)

3.screen后面可以带的参数:
-c file: override默认的配置文件$HOME/.screenrc

-d [pid.tty.host]:断开screen进程(使用该命令时,screen的状态一定要是Attached,也就是说有用户连在screen里)。一般进程的名字是以pid.tty.host这种形式表示(用screen -list命令可以看出状态)。

-D [pid.tty.host]:与-d命令实现一样的功能,区别就是如果执行成功,会踢掉原来在screen里的用户并让他logout。

-r [pid.]tty.host:连上一个断开的screen进程,如果有多个断开的进程,需要指定[pid.]tty.host,常用命令

-d -r:连接一个screen进程,如果该进程是attached,就先踢掉远端用户再连接。

-D -r:连接一个screen进程,如果该进程是attached,就先踢掉远端用户并让他logout再连接

-ls或者-list:显示存在的screen进程,常用命令

-m:如果在一个Screen进程里,用快捷键crtl+a c或者直接打screen可以创建一个新窗口,screen -m可以新建一个screen进程。

-dm:新建一个screen,并默认是detached模式,也就是建好之后不会连上去。

-p number or name:预先选择一个窗口。
例如:如果现在有一个Screen进程,并且是dettached
screen -rp0
连接至screen,并默认进入0号窗口
screen -rpname
连接至screen,并默认进入name窗口
screen -rp=
连接至screen,并默认进入窗口列表

-S sessionname:指定screen进程的名字,如果原来的名字是[pid.]tty.host,现在就会变成pid.sessionname

-t name:设定窗口名字
screen -t entry
新建一个screen进程,里面有一个窗口,名字为entry
-v:显示screen程序的版本

-wipe:去除死去的screen进程。(用screen -list可以看出进程状态,显示为dead即为死去)

-x:连接到一个attached screen进程。也就是说如果有一个用户在screen里,你可以用这个命令连接,而不需要把对方踢掉,随后的操作两个人都能看到,这个称为multi display mode。类试于windows的机器,一个在console端,一个在远程用pcanywhere连接,是一个效果。




4.在screen中的操作:

(C-a c命令指的是按下Crtl+a,然后松开,在按下c)

C-a ":显示Screen里的所有窗口,并可以进行选择。最常用命令

C-a c:创建新窗口,常用命令

C-a num:切换至num号窗口。窗口名一般是0-9(我这个版本最多支持创建40个窗口,C-a "命令就可以看到窗口号,在最左边)

C-a A:为当前窗口设定一个标题,常用命令

C-a d:断开一个screen的进程,常用命令

C-a D:断开一个screen的进程并且logout

C-a K:删除当前的窗口,常用命令

C-a C-x:锁住终端

C-a C-z:挂起终端,也就是可以用jobs,fg之类的命令管理

C-a Z:重置终端至刚启动时的状态


5.实际运用:

我们公司游戏服务器用的linux,一般一组游戏由entry,db,map1,map2,map3,map4,map5...这些机器组成,每个机器上 有相应的程序,假设一组游戏7台服务器组成,那么维护起来就要连接到7台机器,然后开启或关闭程序。现在有了Screen这个程序,我就可以在entry 这台服务器上建立一个screen,从而控制整组的服务器。为什么用entry这台呢,因为即便其它程序都开了,entry不开,玩家还是登不上的。

用"screen"命令新建一个进程,然后用"C-a c"建立另外6个窗口,接着用"C-a A"为每个窗口该名字,分别叫entry,db.....这样功能就一目了然。进入db窗口,用ssh命令连接到对应的db机器(我们都是用密钥访问,所 以不要输入密码),然后开启程序,map机器一样道理。这样管理一组游戏就相当方便了,只需要连一台entry机器

但是随之而来的问题,如果entry机器挂了,或者维护时服务器需要重起,那就要重头开始重建screen,几十台entry建起来可不轻松。解决办法是 修改配置档,可以直接修改$HOME/.screenrc,或者另外新建一个文件,然后在命令行用screen -c file方式运行,个人感觉后一种较好。

文件内容:
screen -t entry 0 #-t表示指定窗口名称,0表示窗口的编号
screen -t db 1 1
screen -t map1 2
screen -t map2 3
screen -t map3 4
screen -t map4 5
screen -t map5 6
这样就可以了

也可以直接把ssh命令打进去(确认可以ssh,要不会有问题)
screen -t entry 0 
screen -t db 1 1 ssh ipofdb
screen -t map1 2 ssh ipofmap1
screen -t map2 3 ssh ipofmap2
screen -t map3 4 ssh ipofmap3
screen -t map4 5 ssh ipofmap4
screen -t map5 6 ssh ipofmap5

 


以下是命令和解释。
运行:
screen

Ctrl-a S 新建水平分割窗口
Ctrl-a Tab 切换窗口
Ctrl-a :screen bash 新建 screen 终端,并运行 bash
Ctrl-a :quit 退出 screen,将关闭所有 screen 终端,结束其中所有任务



screen 常用命令,

Ctrl-a c 新建 bash screen 终端
Ctrl-a " 列出
Ctrl-a A 重命名
Ctrl-a n 在当前窗口中切换到下一个 screen 终端
Ctrl-a p 在当前窗口中切换到上一个 screen 终端

Ctrl-a d 断开所有 screen 终端,返回 screen 执行前状态,但 screen 内所有终端的任务都在执行
screen -ls 列出当前用户的所有 screen 实例,包括联接和断开的
screen -R <pid> 重新联接到已断开的 screen 实例,如果有多个已断开的 screen 实例,则用 <pid> 区分

Ctrl-a S 新建水平分割窗口
Ctrl-a Tab 切换窗口
Ctrl-a X 关闭当前窗口
Ctrl-a + 扩大当前窗口,默认增加3行
Ctrl-a - 缩小当前窗口,默认减小3行

Ctrl-a :screen <command> 新建 screen 终端,并运行命令<command>
Ctrl-a :resize <height> 改变当前窗口高度为<height>
Ctrl-a :quit 退出 screen,将关闭所有 screen 终端,结束其中所有任务

Ctrl-a <Esc> 进入选择模式
<PageUp> 或 Ctrl-u 光标上移一页
<PageDown> 或 Ctrl-d 光标下移一页
<Left> 或 h 光标左移一格
<Down> 或 j 光标下移一行
<Up> 或 k 光标上移一行
<Right> 或 l 光标右移一格
<Space> 选择开始,选择结束
<Esc> 退出选择模式

Ctrl-a ] 粘贴选择的内容

分享到:
评论

相关推荐

    linux screen 命令详解

    llinux screen 命令详细解释 llinux screen 命令详细解释

    linux screen 命令详解.pdf

    linux screen 命令详解

    linux中 关于screen 的命令详解

    本篇文章小编为大家介绍,linux中 关于screen 的命令详解。需要的朋友参考下

    screen 使用方法详解

    系统管理员经常需要远程登录服务器,然后在服务器上跑一些程序。有时候,我们不得不花很长时间去运行...采用screen终端登录的方式后,当“远程连接突然中断”发生时,服务器将自动保存正在运行的程序,并转入后台执行。

    Linux系统命令中screen命令详解

    前言 对于执行长时间命令(如大文件运输)而言,为了不让它终止,都会开启一...下面来介绍下我最常用的screen命令(仅限于我): 首先新建screen会话窗口,可以在这个窗口中执行任何命令,如同在远程登录会话窗口下一样

    Linux screen命令用法详解

    Linux screen命令 Linux screen命令用于多重视窗管理程序。 screen为多重视窗管理程序。此处所谓的视窗,是指一个全屏幕的文字模式画面。通常只有在使用telnet登入主机或是使用老式的终端机时,才有可能用到screen...

    Linux中的screen命令使用详解

    主要介绍了Linux中的screen命令使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    linux下screen命令的使用

    本文介绍了linux下screen命令的使用方法。

    usd screen usd screen

    usd screen usd screen usd screen usd screenusd screen usd screen usd screen usd screenusd screen usd screen usd screen usd screen

    利用QNX screen接口共享屏幕显示图像

    1.QNX screen系统是一个...2.其中使用screen_create_context、screen_create_window、screen_read_display和screen_post_window等基本screen接口,对接口的理解很有帮助。 3.需根据代码,自行适配编译以及运行环境。

    常用linux命令小结

    因为不耐烦反复的查,索性自己总结了一个pdf,里面包括常用的linux命令,包括gcc,grep,tar,sed,find,screen,nohup,scp等,另外还有一些常用的文本处理命令如cat,split,head,tail,uniq,wc,more,less等。

    java screen的配置详解及注意事项

    主要介绍了java screen的配置详解及注意事项的相关资料,需要的朋友可以参考下

    screen应用及及优缺点

    对于screen这个命令的应用对于screen这个命令的应用

    selection screen,dialog screen区别

    sap abap selection screen 与 dialog screen的区别

    Linux中screen命令及使用方法

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

    Android12 SplashScreen使用案例代码下载

    Android12 SplashScreen使用举例代码下载,运行效果 与 相关API使用介绍请参考博文: Android12适配指南——SplashScreen: https://xiaxl.blog.csdn.net/article/details/123522277 Android 12(API 31)引入了 ...

    linux screen命令的使用说明 英文文字版

    screen是linux shell命令行中的创建多个进程的工具,本文是非常全面的说明

Global site tag (gtag.js) - Google Analytics