`

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 命令详解

    ### Linux Screen 命令详解 #### 一、引言 在日常的系统管理工作中,尤其是在处理长时间运行的任务时,例如系统备份、FTP文件传输等,我们常常需要使用到远程登录工具来保持与Linux服务器的连接。然而,在这种场景...

    DOS 常用命令 详解

    ### DOS常用命令详解 #### 一、概述 随着技术的发展,图形用户界面(GUI)逐渐成为主流,然而对于计算机专业人士而言,了解并掌握DOS(Disk Operating System,磁盘操作系统)命令仍然非常重要。DOS命令行环境提供...

    linux screen 命令详解.pdf

    Screen还有一些常用的参数: ``` screen-Syourname-&gt;新建一个叫yourname的session。 screen-ls-&gt;列出所有当前的session。 screen-ryourname-&gt;回到名为yourname的session。 screen-dyourname-&gt;远程detach名为yourname...

    screen 使用方法详解

    5. **其他常用命令** - 重命名会话:`Ctrl+a A` 可以给当前会话重新命名。 - 关闭窗口:在 screen 会话中,按下 `Ctrl+a X` 可以关闭当前窗口。 - 水平分割窗口:`Ctrl+a S` 可以创建一个水平分割的窗口。 - ...

    Linux命令详解词典.pdf

    《Linux命令详解词典》是一本详尽解析Linux操作系统中常用命令的参考书籍。Linux作为开源、免费的操作系统,其强大的命令行工具是其高效工作的重要组成部分。这本书旨在帮助用户理解和掌握这些命令,从而更好地在...

    linux中 关于screen 的命令详解

    **四、常用`screen`命令** 1. `screen -S yourname`:创建一个名为“yourname”的screen会话。 2. `screen -ls`:列出所有当前存在的screen会话。 3. `screen -r yourname`:恢复并进入名为“yourname”的会话。 4....

    Linux系统命令中screen命令详解

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

    Linux编程命令详解

    "Linux编程命令详解"这本书深入浅出地介绍了Linux系统中的常用命令,是程序员进阶必备的参考资料。以下是根据标题、描述以及标签提炼出的一些关键知识点: 1. **Linux基础**:Linux是一种类Unix操作系统,它基于...

    Linux中的screen命令使用详解

    `screen`的常用命令及选项 - **`screen -S name`**:创建一个新的会话,名为`name`。 - **`screen -ls`**:列出当前存在的所有会话。 - **`screen -r name`**:恢复并连接到名为`name`的会话。 - **`screen -d ...

    SQL Plus常用命令列表

    ### SQL Plus常用命令详解 #### 一、概览 SQL Plus是Oracle数据库系统中的一个标准工具,用于执行SQL语句和脚本,以及管理数据库。它提供了丰富的命令集,不仅支持基本的SQL查询,还具备高级功能,如脚本编写、...

    SQLPLUS常用命令列表

    #### 二、SQL*PLUS常用命令详解 ##### 1. SELECT FROM - **命令格式**:`SELECT * FROM &lt;表名&gt;;` - **功能描述**:用于查询表中的所有列。 - **示例**: - `SELECT * FROM tab;` - 解释:查询表`tab`中的所有列...

    adb常用命令.pdf

    ### ADB常用命令详解 #### 一、ADB基础命令 ADB (Android Debug Bridge) 是一个命令行工具,用于与Android设备进行通信。它为开发者提供了许多有用的功能,比如安装应用程序、调试应用程序、运行Shell命令等。 - ...

    oracle sqlplus 常用命令大全.txt

    ### Oracle SQLPlus 常用命令详解 #### 1. 显示系统信息与用户信息 - **`show all`**:此命令用于显示系统级别的设置信息,包括但不限于环境变量、当前会话设置等。 - **`show user`**:显示当前登录数据库的用户名...

    unix常用命令简单说明

    ### Unix常用命令详解 #### 一、基础命令 1. **cd**:改变当前工作目录。用户可以通过输入“cd 目录名”来切换到指定的目录。 2. **ls**:列出目录内容。用于查看当前目录下的所有文件和子目录。 3. **pwd**:...

    华为路由交换设备常用命令.docx

    ### 华为路由交换设备常用命令详解 #### 一、系统基本配置命令 在华为的路由交换设备中,为了能够高效地管理和维护网络设备,掌握一系列的基础配置命令是非常必要的。以下是一些常用的命令及其功能说明。 ##### ...

    XP常用命令

    ### XP常用命令详解 在Windows XP操作系统中,存在许多内置的命令行工具和服务管理工具,它们可以帮助用户管理和优化系统性能,解决各种问题。本文将详细解释这些命令的功能及其使用场景。 #### PERFMON.MSC - ...

    21个DOS常用命令

    ### 21个DOS常用命令详解 #### 1. cd (Change Directory) - **功能**: 更改当前工作目录。 - **用法**: `cd [路径]` - `cd ..`:移动到上一级目录。 - `cd \`:移动到根目录。 - `cd C:\Windows`:移动到指定的...

    常用dos命令

    ### 常用DOS命令详解 #### 一、DOS命令概述 DOS(Disk Operating System)是一种早期的操作系统,主要用于个人计算机上。在DOS环境下,用户可以通过输入特定的命令来完成各种操作,如文件管理、系统设置等。根据...

    windowsXIP系统下的常用命令

    ### Windows XP SP2 下的常用命令详解 #### 1. winver - **功能**: 显示 Windows 版本信息。 - **应用场景**: 需要知道当前操作系统的确切版本时使用。 #### 2. wmimgmt.msc (Windows Management Instrumentation)...

    ORACLE常用命令

    ### ORACLE常用命令详解 #### 一、连接与基本操作 - **`connect 用户名/密码`** - **功能**:用于连接到指定的Oracle数据库用户。 - **示例**:`connect scott/tiger`,此命令将尝试连接到用户名为“scott”,...

Global site tag (gtag.js) - Google Analytics