在linux环境下,使用ssh客户端进行开发的朋友们可能经常会被不稳定的网络环境所困扰:在掉线后,很多中断的脚本要重跑,目录要重进;vi会自动生成一些swap文件,甚至在recover后仍然存在,给操作带来了不便;若同时打开多个终端,损失就更大了。
这里推荐一个简单的解决办法:
- 在linux服务器上安装一个叫screen的软件。
- 使用ssh客户端,用正常的方式远程连上服务器。
- 输入screen,此时你看到的终端画面已经被screen接管了。它同时保存了终端现场,从而使恢复现场成为可能。
- 此后进行正常的操作,终端界面的状态会被screen实时保存。在任何时候按Ctrl+a+d,都会从screen模式退回(Detach)到伪终端。输入screen -ls,可以看到被挂起的screen列表。再输入screen -r ,即可回到刚才的screen窗口。当然即使异常掉线了,重新登陆后,还是可以使用screen -r恢复现场的,这就是我们使用它的意义所在。
-
可以在.bash_profile里加一行
alias r='screen -d `screen -ls |grep Attached|cut -f2|cut -f1 -d"."`;screen -r `screen -ls |grep Detached|cut -f2|cut -f1 -d"."`'
能够方便的切回screen窗口(假设只开了一个screen)。
非常实用!
赞赞