screen
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 -v 看一下自己的系统是否内置了screen 版本示什么,如果没有,那么需要安装 yum -y install screen 必须要有epel 源才行;
基本用法 :[root@centos7 ~]# screen # 直接输入screen 按enter 键就可以启用,但我们一般会在创建时加个名字来区分
[root@centos7 ~]# screen -S test #建立一个新视窗 取名叫test
点击enter 键后
这就创建了第一个窗口,编号是No.0,并在其中打开一个默认的sehll 一般是bash,但是这会立刻返回到命令提示符,仿佛什么也没发生,其实screen 已经开始发生作用。
screen 中所有的命令最好都以ctrl + a 开始 类似vi命令中的 :(冒号),目的是为了告诉软件我要进行命令操作了,而不是简单的输入字符,严格区分大小写
下面介绍几个功能
1、会话的分离和恢复 :只要screen 本身没有终止,在内部运行的会话都可以恢复
crtl a 在按 d ,screen 就会暂时中断会话
需要在次使用时,用screen -ls 来重新找到被挂起的会话
用screen -r 和id 编号就可以重连会话
2、会话共享:两个人在不同的地方,用相同的账户登录同一台机器,其中一个人创建了一个screen 会话,另外一个人使用screen -x id 编号,这样两个人就能实现共享同一会话
3、屏幕分割
ctrl a + 大写的 S横着分屏
ctrl a + | 竖着分屏
ctrl a + Tab 键实现区块间的切换
ctrl a + 大写的X 关闭当前区块,ctrl a + 大写的Q 关闭除当前区块外其他的区块