screen 能够支持多个终端窗口
这样能给我们在终端的操作带来大量的便利
比如:我们可以在一个window中编译程序,在另一个windows中写代码,在第三个window中下载软件,在第四个window中做yum升级
互不干扰,而不必打开多个putty到服务器的连接
而且它还具有锁定复制等大量能给我们提高效率的功能
开始学习吧!
一,如何查看screen的帮助?
ctrl-a ?
说明:这个快捷键如何操作?
首先是在终端启动screen
(在这里说一下操作screen的终端,gnome terminal,putty,sshsecureclient这几个均可)
命令:
[lhd@localhost ~]$ screen -S testwindow
此时可以使用快捷键了,按住ctrl不放,按a,然后放开此两者,输入一个?(需要按住shift键才可以打出来)
Command key: ^A Literal ^A: a
break
^B b fit F lastmsg ^M m next ^@ ^N sp n readbuf
detach
^D d history { } login L pow_break B reset Z title A xoff ^S s
digraph
^V info i meta a pow_detach D screen ^C c vbell ^G xon ^Q q
displays
* kill K monitor M prev ^P p ^? select ' version v
^]
paste .
"
windowlist -b
-
select -
0
select 0
1
select 1
2
select 2
3
select 3
4
select 4
5
select 5
6
select 6
7
select 7
8
select 8
9
select 9
I
login on
O
login off
]
paste .
二,如何新建一个window?如何管理window?
1,新建一个window
ctrl-a c
注意此时我们已新建了一个window
那么新建此window之前,就是刚进入screen时的那个window去哪儿了?
如何进行切换?
2,列出我们所打开的window
ctrl-a w
注意: 已打开的window会显示在标题栏或终端的最下面一行
0-$ bash 1*$ bash
说明:
0和1分别是两个window的id
可以供我们对window进行切换使用
-表示前一个window,我们之前使用过的那一个窗口
*表示当前正在打开的window
3,如何给窗口改名?
ctrl-a A
在终端最下面一行会显示:
Set window's title to: compile
为当前windows输入新名字后回车即可
4,如何切换window?
用快捷键
ctrl-a 0 切换到第0个window
ctrl-a 1 切换到第1个window
ctrl-a 2 切换到第2个window
ctrl-a 3 切换到第3个window
以此类推
用列表:
ctrl-a " (ctrl加a,然后按双引号)
终端会显示
Num
Name Flags
0 bash $
1 compile $
2 bash $
3 wget_kde $
4 bash $
5 bash $
6 bash $
7 bash $
用上下箭头从中选择一个后回车即可
5,如何关闭一个不再使用的window?
ctrl-a K
请注意K是大写
此时终端会提示:
Really kill this window [y/n]
输入y后回车即可
此时你可以查看window列表,可以发现我们关闭的window已不在列表之内了
6,如何锁定当前的window?
这个功能很方便,锁定终端的同时不影响正在运行的程序,
而且锁定之后只能输入密码来解锁,既安全又方便
ctrl-a x
窗口会变成:
Screen used by liuhongdi .
Password:
三,screen
的复制粘贴模式
1,复制:
ctrl-a [
此时可以移动光标,
注意:如何开启复制?
第一次按space键: 开始复制
第二次按space键: 结束复制
两次按space键之间反选的内容是已复制成功的内容
2,粘贴:
ctrl-a ]
我们可以在当前window,也可以切换到另一window,
打开vi,例如:
vi testpaste.txt
点击i进入insert模式,
然后用 ctrl-a ]即可复制成功
四,screen的分割屏幕
例如:
我现在需要把屏幕分成上下两个部分:
上半部分我需要用top来监视进程
下半部分我可以随时输入命令来kill掉上面显示出的最费资源的进程,
screen 可以帮我们做到这一点
1,如何进行分割?
ctrl-a S
请注意: S是大写
此时我们可以看到屏幕被用分隔线分离成上下两部分,screen称之为区域(region)
而 ctrl-a S的作用就是把当前的region分割成两部分
2,如何在分割后的区域间进行切换
ctrl-a tab
用ctrl加a,然后按tab即可切换
3,新切换到的区域(region)内无任何内容,如何处理?
两个做法:
ctrl-a c,新建一个窗口
当然也可以切换到我们之前已打开的窗口,比如: ctrl-a 1
3,如何关闭当前的region?
ctrl-a X
请注意: X大写
五,对screen
session的管理:
1,如何离开当前的screen session?
请注意:是离开,不是结束会话,
就是说我需要能随时回到当前会话中
ctrl-a d
终端会显示:
[detached]
[lhd@localhost ~]$
象这样,我们可以随时输入 screen -r 返回到我们刚刚离开的 screen session
[lhd@localhost ~]$ screen -r testwindow
2,如何退出当前的screen session?
注意退出后可不能再用screen -r 返回了
在命令提示符后输入 exit即退出了
[lhd@localhost ~]$ exit
之后终端会显示:
[screen is terminating]
[lhd@localhost ~]$
六,screen的配置文件在哪里?
screen的快捷键等均可进行设置,比如:你可能不适应一直 ctrl加a
那么就编辑它的配置文件吧
/etc/screenrc
这里面的配置项很多,如果不是确有必要,不建议对它做改动
把这里面的配置作为练习留给大家去自行研究