linux下一款ssh大杀器screen

来源:互联网 发布:xalharmp3软件怎么下载 编辑:程序博客网 时间:2024/06/07 15:33

一.screen出现背景

大多数的程序员都会使用ss或者telneth远程登录到主机去操作,但是有些任务可能会占用非常长的时间,比如scp一个文件上去,这个时候程序员要么是等待该程序的结束,要么是重新开一个终端,这就会占用额外的时间和窗口。

二.screen简介

screen是一个由GNU计划开发的自由软件,该软件主要用于在命令行终端自由切换。Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。

  • 语法.  screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s <shell>][-S <作业名称>]
  • 参数
-A  将所有的视窗都调整为当前终端机的大小。
-d<作业名称>  将指定的screen作业离线。
-h<行数>  指定视窗的缓冲区行数。
-m  即使当前已在作业中的screen作业,仍强制建立新的screen作业。
-r<作业名称>  恢复离线的screen作业。
-R  先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
-s<shell>  指定建立新视窗时,所要执行的shell。
-S<作业名称>  指定screen作业的名称。
-v  显示版本信息。
-x  恢复之前离线的screen作业。
-ls或--list  显示当前所有的screen作业。
-wipe  检查当前所有的screen作业,并删除已经无法使用的screen作业。
三.使用方法
在每个screen session里使用Ctrl-a 来输入一个命令。
C-a ? -> 显示所有键绑定信息
C-a c -> 创建一个新的运行shell的窗口并切换到该窗口
C-a n -> Next,切换到下一个 window 
C-a p -> Previous,切换到前一个 window 
C-a 0..9 -> 切换到第 0..9 个 window
Ctrl+a [Space] -> 由视窗0循序切换到视窗9
C-a C-a -> 在两个最近使用的 window 间切换 
C-a x -> 锁住当前的 window,需用用户密码解锁
C-a d -> detach,暂时离开当前session,将目前的 screen session (可能含有多个 windows) 丢到后台执行,并会回到还没进 screen 时的状态,此时在 screen session 里,每个 window 内运行的 process (无论是前台/后台)都在继续执行,即使 logout 也不影响。 
C-a z -> 把当前session放到后台执行,用 shell 的 fg 命令则可回去。
C-a w -> 显示所有窗口列表
C-a t -> Time,显示当前时间,和系统的 load 
C-a k -> kill window,强行关闭当前的 window
C-a [ -> 进入 copy mode,在 copy mode 下可以回滚、搜索、复制就像用使用 vi 一样
   C-b Backward,PageUp 
   C-f Forward,PageDown 
   H(大写) High,将光标移至左上角 
   L Low,将光标移至左下角 
   0 移到行首 
   $ 行末 
   w forward one word,以字为单位往前移 
   b backward one word,以字为单位往后移 
   Space 第一次按为标记区起点,第二次按为终点 
   Esc 结束 copy mode 
C-a ] -> Paste,把刚刚在 copy mode 选定的内容贴上


分屏:

可以使用快捷键C-a S将显示器水平分割,Screen 4.00.03版本以后,也支持垂直分屏,快捷键是C-a |。分屏以后,可以使用C-a <tab>在各个区块间切换,每一区块上都可以创建窗口并在其中运行进程。

可以用C-a X快捷键关闭当前焦点所在的屏幕区块,也可以用C-a Q关闭除当前区块之外其他的所有区块。关闭的区块中的窗口并不会关闭,还可以通过窗口切换找到它。


复制粘贴

screen的另一个很强大的功能就是可以在不同窗口之间进行复制粘贴了。使用快捷键C-a <Esc>或者C-a [可以进入copy/paste模式,这个模式下可以像在vi中一样移动光标,并可以使用空格键设置标记。其实在这个模式下有很多类似vi的操作,譬如使用/进行搜索,使用y快速标记一行,使用w快速标记一个单词等。关于C/P模式下的高级操作,其文档的这一部分有比较详细的说明。

一般情况下,可以移动光标到指定位置,按下空格设置一个开头标记,然后移动光标到结尾位置,按下空格设置第二个标记,同时会将两个标记之间的部分储存在copy/paste buffer中,并退出copy/paste模式。在正常模式下,可以使用快捷键C-a ]将储存在buffer中的内容粘贴到当前窗口。




1 0
原创粉丝点击