在使用ssh或者telnet登录远程主机后执行一些耗时的命令, 如果此时ssh或者telnet中断, 那么远程主机上正在执行的程序或者说命令也会被迫终止.

screen能够很好地解决这个问题, screen也叫虚拟终端, 可以在一个物理终端上实现多个虚拟终端的效果.

创建screen会话

# 新建一个screen
screen
# 新建一个screen并指定名称
screen -S XXX

以上命令, screen将创建一个执行shell的全屏窗口。你可以执行任意shell程序,就像在ssh窗口中那样。在该窗口中键入exit退出该窗口,如果这是该screen会话的唯一窗口,该screen会话退出,否则screen自动切退到前一个窗口。

# screen命令后跟你要执行的程序。
screen vi test.c

screen创建一个执行vi test.c的单窗口会话,退出vi将退出该窗口/会话

以上两种方式都创建新的screen会话。

在一个已有screen会话中创建新的窗口。在当前screen窗口中键入Ctrl + A, C,即Ctrl键+a键,之后再按下c键,screen 在该会话内生成一个新的窗口并切换到该窗口

断开(detach)screen会话,并重连(attach)会话

#打开一个screen窗口编辑/tmp/abc文件:
screen vi /tmp/abc

之后暂时退出做点别的事情,在screen窗口键入Ctrl + A, D,Screen会给出detached提示, 这时候可以在命令行执行其他命令

# 半个小时之后回来了,找到该screen会话:
screen -ls
There is a screen on:
.pts-.tivf06 (Detached)
Socket in /tmp/screens/S-root.
# 重新连接会话
screen -r

这时候会显示出原来screen会话中的信息.

如果原screen还是Attached的状态, 需要用 -x 参数

# 重新连接一个还在Attached状态的screen session
screen -x

screen的组合键操作列表

Ctrl-a ?    显示所有键绑定信息
Ctrl-a w 显示所有窗口列表
Ctrl-a C-a 切换到之前显示的窗口
Ctrl-a c 创建一个新的运行shell的窗口并切换到该窗口
Ctrl-a n 切换到下一个窗口
Ctrl-a p 切换到前一个窗口(与C-a n相对)
Ctrl-a .. 切换到窗口0..
Ctrl-a a 发送 C-a到当前窗口
Ctrl-a d 暂时断开screen会话
Ctrl-a k 杀掉当前窗口
Ctrl-a [ 进入拷贝/回滚模式

screen命令的参数

Options:
- Use IPv4.
- Use IPv6.
-a Force all capabilities into each window's termcap.
-A -[r|R] Adapt all windows to the new display width & height.
-c file Read configuration file instead of '.screenrc'.
-d (-r) Detach the elsewhere running screen (and reattach here).
-dmS name Start as daemon: Screen session in detached mode.
-D (-r) Detach and logout remote (and reattach here).
-D -RR Do whatever is needed to get a screen session.
-e xy Change command characters.
-f Flow control on, -fn = off, -fa = auto.
-h lines Set the size of the scrollback history buffer.
-i Interrupt output sooner when flow control is on.
-l Login mode on (update /var/run/utmp), -ln = off.
-list or -ls. Do nothing, just list our SockDir.
-L Turn on output logging.
-m ignore $STY variable, do create a new screen session.
-O Choose optimal output rather than exact vt100 emulation.
-p window Preselect the named window if it exists.
-q Quiet startup. Exits with non-zero return code if unsuccessful.
-r Reattach to a detached screen process.
-R Reattach if possible, otherwise start a new session.
-s shell Shell to execute rather than $SHELL.
-S sockname Name this session <pid>.sockname instead of <pid>.<tty>.<host>.
-t title Set title. (window's name).
-T term Use term as $TERM for windows, rather than "screen".
-U Tell screen to use UTF- encoding.
-v Print "Screen version 4.00.03 (FAU) 23-Oct-06".
-wipe Do nothing, just clean up SockDir.
-x Attach to a not detached screen. (Multi display mode).
-X Execute <cmd> as a screen command in the specified session.

查看screen line buffer参数: Ctrl+A, i

设置screen line buffer: Ctrl+A, : , 然后输入 scrollback 1000 , 回车

查看buffer内容: Ctrl+A, Esc, 然后就可以用滚轮, 上下箭头等操作屏幕上下移动了, 翻页则使用Ctrl+F, Ctrl+B, 再次按Esc则退出

gnu screen的用法的更多相关文章

  1. 从Tmux 转到GNU Screen

    网上很多地方都说Tmux比GNU Screen要好用,不过无意间看到这篇Switching from tmux to GNU Screen之后,我发现GNU Screen的窗口/区域概念更好,至少是更 ...

  2. GNU Screen Usage

    分屏: 1.在终端输入screen命令 2.Ctrl+a 然后shift+s 上下分屏,切换到下方Ctrl+a tab然后新建一个window(Ctrl+a c) 3.切换到上方,Ctrl+a tab ...

  3. GNU Screen使用入门

    前些天开始学习使用GNU Screen程序,发现这个工具在管理服务器时候确实挺方便的,于是写一篇文章总结一下,顺便介绍Screen的基本使用方法. 简介 GNU Screen是 一个基于文本的全屏窗口 ...

  4. GNU Screen使用

    基本使用 SSH时可以方便地resume工作 # open new screen session screen # restore screen -r  Steps Using GNU Screen ...

  5. screen基本用法

    当某些命令执行时间过长或者某些程序关闭shell后自动断开时,就能使用screen 1.安装yum -y install screen 2.输入screen命令进入screen控制台 3.输入scre ...

  6. screen 基础用法(转)

    ####################### 屏幕分割 ######################## 1. screen2. Ctrl-a c    # create a new screen3 ...

  7. linux screen的用法

    今天使用vps时,起了一个http服务,因为需要用nc接收流量,就要关闭http服务,再去用nc接收流量就接收不到,请教了师傅,这里需要用到screen创建一个会话,就能http服务跟nc同时进行. ...

  8. Screen 用法简述

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

  9. screen命令两种用法

    screen命令用法举例 screen命令,故名思议于屏幕有关. 1. screen用于关闭shell应用不退出 思路:创建一个单独的shell窗口,在此窗口中启动应用,然后把这个shell放置于后台 ...

随机推荐

  1. RocketMQ logback使用实践

    logback_broker.xml <?xml version="1.0" encoding="UTF-8"?> <!-- Licensed ...

  2. Chart/Report资源目录

    ylbtech-Chart:Chart/Report资源目录 1.Chart.js返回顶部 1-0.官网 http://www.chartjs.org 1-1.实例 http://www.chartj ...

  3. easyui简单使用

    easyui近期一直都比较流行,虽然它在效果上被extjs爆了,它的使用难度低,在IE6下表现不错,的确受到了广泛企业程序员的好评. 但是他的API说明还是比较简陋的,刚上手可能还需要摸索一下,为什么 ...

  4. [leetcode]Trapping Rain Water @ Python

    原题地址:https://oj.leetcode.com/problems/trapping-rain-water/ 题意: Given n non-negative integers represe ...

  5. ORM数据库框架 SQLite 常用数据库框架比较 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  6. mybatis xml mapper 文件中 if-else 写法

    mybaits 中没有else要用chose when otherwise 代替 范例一 <!--批量插入用户--> <insert id="insertBusinessU ...

  7. position:fixed ,锚点定位不准确的问题

    解决方案: 参照 stackoverflow 的做法,在主体内容前加一个暗锚 <div class="anmao" id="experts">< ...

  8. http://blog.csdn.net/u014595019/article/details/52805444

    http://blog.csdn.net/u014595019/article/details/52805444 tensorflow笔记系列: (一) tensorflow笔记:流程,概念和简单代码 ...

  9. 【矩阵乘】【DP】【codevs 1305】Freda的道路

    1305 Freda的道路 时间限制: 1 s 空间限制: 128000 KB 题目等级: 大师 Master 题目描写叙述 Description Freda要到Rainbow的城堡去玩了. 我们能 ...

  10. (纪录片)鸟瞰中国 China from Above

    简介: 类型: 纪录片官方网站: natgeotv.com/uk/china-from-above制片国家/地区: 美国语言: 英语集数: 2单集片长: 44分钟IMDb链接: tt4872012 主 ...