且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Linux下的screen(远程协作的用法)

更新时间:2022-08-14 19:20:45

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 键)










本文转自 冰冻vs西瓜 51CTO博客,原文链接:http://blog.51cto.com/molewan/1857514,如需转载请自行联系原作者