在使用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:16582.pts-1.tivf06      (Detached)
1 Socket in /tmp/screens/S-root.
# 重新连接会话
screen -r 16582

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

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

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

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..9    切换到窗口0..9
Ctrl-a a    发送 C-a到当前窗口
Ctrl-a d    暂时断开screen会话
Ctrl-a k    杀掉当前窗口
Ctrl-a [    进入拷贝/回滚模式

screen命令的参数

Options:
-4            Use IPv4.
-6            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-8 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.

gnu screen的用法相关推荐

  1. 介绍使用 GNU Screen 的小技巧

    学习基本的 GNU Screen 终端复用技术,然后下载我们的终端命令备忘录,以便你能够熟悉常用的快捷方式. 学习基本的 GNU Screen 终端复用技术,然后下载我们的终端命令备忘录,以便你能够熟 ...

  2. GNU Screen的使用方法

    http://www.gnu.org/software/screen/ 对话 UNIX: 使用 Screen 创建并管理多个 shell http://www.ibm.com/developerwor ...

  3. GNU Screen Usage

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

  4. Tmux : GNU Screen 的替代品

    Tmux : GNU Screen 的替代品 12 十 2010 # 作者: riku / 本文采用CC BY-NC-SA 2.5协议授权,转载请注明本文链接. 对于 SA 来讲,tmux 可以称得上 ...

  5. SHELL TIPS: GNU SCREEN 的一些小技巧

    SHELL TIPS: GNU SCREEN 的一些小技巧 2010-07-22 由于工作环境的问题,最近越来越感觉到 screen 命令的可贵,下面总结一点使用 screen 命令的小技巧. 最常用 ...

  6. linux cadaver 命令,screen命令用法与cadaver

    screen命令用法 一.简介 作为linux服务器管理员,经常要使用ssh登陆到远程linux机器上做一些耗时的操作. 也许你遇到过使用telnet或SSH远程登录linux,运行一些程序.如果这些 ...

  7. GNU awk 的用法-文本处理三剑客之一

    GNU awk 的用法 awk 简介 文本处理三剑客 awk 工作原理 awk 用法 1.print 2.变量 2.1 内建变量 2.2 自定义变量 3.printf 命令 4.操作符 4.1 算术操 ...

  8. Linux screen简单用法

    安装: apt install screen 常用的screen命令: 1.screen -S name  创建 名为name的 screen 2.screen -a 然后 d 暂时离开此screen ...

  9. Screen常见用法 Linux手动编译安装Screen

    7,screen使用 1.简历screen窗口 screen -S face 2.查看实例 screen -ls 3.调取窗口 screen -r 28730 4.关闭 screen -d {name ...

最新文章

  1. Python - 输出格式 (学习小结)
  2. 当人类与「熵」对抗时,意识出现了!那AI呢?
  3. 登上Science子刊,神经科学再次启发DNN设计!中科院揭秘介观自组织反向传播机制...
  4. MySQL数据类型及范围用法一览表
  5. jQuery内置动画和多库共存
  6. JS(JQEERY) 获取JSON对象中的KEY VALUE
  7. 马斯克回怼世粮署:能公开60亿美元花在哪 就立即卖股票捐款
  8. 两台服务器怎么发文件,两台服务器怎么发文件
  9. 数据库事务 写偏斜write-skew
  10. 使用Beyond Compare一类文件目录比较器时,要注意忽略的目录文件设置
  11. 编译安装mysql-5.5.33
  12. 更改VS.NET 默认SCM Provider的方法
  13. h5 px 转dp_西游女儿国h5手游下载-西游女儿国h5手游下载v2.1.4 安卓版
  14. python核心编程源代码
  15. html如何做站内搜索,站内搜索-Search.html
  16. 公司企业邮箱账号格式怎么填?
  17. 帆软报表在已经搭载服务器上开发_报表案例_数据报表开发_做报表的步骤_报表开发流程-帆软...
  18. 泰坦尼克号数据的分析研究
  19. MSSQLSERVER 2019修改数据库文件存放路径的简单实现
  20. 一年三 季 醋 泡 姜(养生)

热门文章

  1. Windows下编译配置Caffe的GPU版本
  2. 657. 机器人能否返回原点
  3. 编译原理中LL(1)分析程序的设计---用c++程序语言实现
  4. KVM虚拟机禁止上网(路由转发)
  5. 16. OD-破解序列号验证机算法
  6. IDA工具各个功能总结
  7. Day05:装饰器,三元表达式,函数的递归,匿名/内置函数,迭代器,模块,开发目录...
  8. 【笔试面试】神马搜索C++程序猿电话面试
  9. Windows Phone 7开发,进度条ProgressBar使用详解
  10. STM32之DAC原理