1)screen运用场景(拷贝自网络):
来自产品工程的高级维护用户 David 打电话说:“为什么我不能在您部署的这些新机器上编译 supercode.c”。
您会问他:“您运行的是什么机器?”
David 答道:“ Posh”。(这个虚够的公司将它的 5 台生产服务器以纪念 Spice Girls 的方式命名)。这下您可以大显身手了,另一台机器由 David 操作:
# su - david
转到 posh:
# ssh posh
到达之后,运行以下代码:
# screen -S foo
然后呼叫 David:
“David,在终端运行命令 # screen -x foo”。
这使您和 David 的会话在 Linux shell 中联接在一起。您可以输入,他也可以输入,但彼此可以看到对方所做的事情。这避免了进入其他层次,而且双方都有相同的控制权。这样做的好处是 David 可以观察到您的故障诊断技巧,并能准确了解如何解决问题。
最后大家都能看到问题所在:David 的编译脚本对一个不在此新服务器上的旧目录进行了硬编码。将它装载后再次编译即可解决问题,然后 David 继续工作。您则可以继续之前的娱乐活动。
关于此技巧需要注意的一点是,双方需要以同一用户登录。screen 命令还可以:实现多个窗口和拆分屏幕。请阅读手册页获取更多相关信息。
对于 screen 会话,我还有最后一个技巧。要从中分离并让它打开,请输入 Ctrl-A D(即按住 Ctrl 键并点击 A 键。然后按 D 键)。
然后通过再次运行 screen -x foo 命令可以重新拼接起来。
2)screen的安装
# yum -y install screen
# rpm -qa screen
screen-4.0.3-16.el6.x86_64
3)screen的使用
# 开启一个名为team001的screen共享窗口
# screen -S team001
# 查看screen的窗口信息
# screen -ls
There is a screen on:
3334.team001 (Attached)
1 Socket in /var/run/screen/S-root.
在另外一个终端窗口:
# screen -x team001
然后,我们就可以看到两个终端窗口的数据是实时同步的了
4)退出screen
可以在任意一个窗口,输入 Ctrl-A D(即按住 Ctrl 键并点击 A 键。然后按 D 键)