screen命令用法和快捷键

原文地址:http://www.magentonotes.com/screen-command-shortcuts.html

 

Screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器,Screen中有会话的概念,用户可以在一个screen会话中创建多 个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样,我们在管理远程服务器的时候,Screen命令是非常有用的,screen接收以C-a开始的命令,这种命令形式在screen中叫做键绑定(key binding),C-a叫做命令字符(command character),C-a 为 Ctrl键+A键。

常用的Screen键绑定也就是快捷键:

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

Screen命令语法:

screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>]

Screen命令参数:
-A -[r|R]          将所有的视窗都调整为目前终端机的大小。
-c filename        用指定的filename文件替代screen的配置文件’.screenrc’.
-d [pid.tty.host]  断开screen进程(使用该命令时,screen的状态一定要是Attached,也就是说有用户连在screen里)。一般进程的名字是以pid.tty.host这种形式表示(用screen -list命令可以看出状态)。
-D [pid.tty.host]  与-d命令实现一样的功能,区别就是如果执行成功,会踢掉原来在screen里的用户并让他logout。
-h <行数>         指定视窗的缓冲区行数。

-ls或–list        显示目前所有的screen作业。
-m                    即使目前已在作业中的screen作业,仍强制建立新的screen作业。
-p number or name  预先选择一个窗口。
-r [pid.tty.host]  恢复离线的screen进程,如果有多个断开的进程,需要指定[pid.tty.host]
-R                      先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
-s shell             指定建立新视窗时,所要执行的shell。
-S <作业名称>  指定screen作业的名称。(用来替代[pid.tty.host]的命名方式,可以简化操作).
-v                     显示版本信息。
-wipe                检查目前所有的screen作业,并删除已经无法使用的screen作业。
-x                     恢复之前离线的screen作业。

Screen常用的命令:

screen 进入screen模式
exit 退出当前窗口,如果它是此screen的唯一窗口时,此screen也将完全退出。
screen -ls 查看有哪些screen
screen -r id 打开编号为id的screen窗口
screen -r sessionname 打开名为sessionname的screen窗口
screen -wipe 清除死掉的会话
screen -dmS sessionname  启动一个初始状态断开的screen会话

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

更多Screen功能

Screen 提供了丰富强大的定制功能,你可以在Screen的默认两级配置文件/etc/screenrc和$HOME/.screenrc中指定更多,例如设定 screen选项,定制绑定键,设定screen会话自启动窗口,启用多用户模式,定制用户访问权限控制等等。如果你愿意的话,也可以自己指定 screen配置文件,以多用户功能为例,screen默认是以单用户模式运行的,你需要在配置文件中指定 multiuser on 来打开多用户模式,通过acl*(acladd,acldel,aclchg…)命令,你可以灵活配置其他用户访问你的screen会话。更多配置文 件内容请参考screen的man页。

你可能感兴趣的:(screen命令用法和快捷键)