一、背景
系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连 接,否则这个任务就会被杀掉,一切半途而废了。
二、简介
GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。
GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
三、常用命令及技巧
1. 安装screen
yum install screen
rpm -qa|grep screen
2. 创建会话test
screen -S test
3. 列出所有会话
screen -ls
4. 卸载会话test
screen -d test
或者进入会话test后,按ctrl+a后按d
5. 在当前screen会话中创建窗口
ctrl+a后按c
6. 显示当前screen会话中的所有窗口列表
ctrl+a后按w
7. 切换到下一个窗口
ctrl+a后按n
8. 退出某个窗口
exit
当所有窗口退出后,screen会被自动删除
也可以手动删除screen,进入会话后,按ctrl+a后按k
9. 会话共享,能实现与其它人共享视图,需要同一账户
screen -x, 这样两人的操作可以同步
也可以通过按ctrl+a再按s锁屏不允许操作,再通过ctrl+a再按q解锁
10. 屏幕分割
ctrl+a再按S能将一个视图中的两个窗口进行上下分割
用ctrl+a再按tab进行切换
用ctrl+a再按X关闭当前窗口
用ctrl+a再按Q关闭其余窗口
11. 不同窗口间的拷贝
在一个窗口中按ctrl+a再按[进入拷贝模式,空格用来设置拷贝的起止点
跳到另一个窗口按ctrl+a再按]进行粘粘