Archive for October, 2006

强大的Screen

Sunday, October 29th, 2006

使用过unix、linux、bsd系统的人应该都体验过shell的强大功能,尤其是配合openssh使用,可以方便的管理远程主机,这也几乎是远程维护服务器的最高效的方式了。 但是shell也有一个小缺陷,那就是缺少窗口界面下的“多窗口”功能,用户的操作是单线性的,无法暂停去处理其他事务,然后再回来,常用的解决办法应该是多开几个ssh窗口,这样是不是太笨了呢?注意我只是说用户操作是单线性的,系统的处理仍然是多用户多任务的,把任务放到后台处理不属于“用户操作”范畴。 其实,借助强大的Screen(screen的另外一个家)这个程序,我们可以在简陋的命令行操作方式下模拟多窗口的运行模式。Screen的主要功能是使一个用户登录能够同时打开多个shell进行操作,每个shell互不影响,如果把shell比作“窗口”的话,Screen就可以让你打开无数个“窗口”。 有了Screen的帮助,就不需要再打开许多个terminal窗口了,只要打开一个,并且进入screen,就可以随用随开shell了。比如说,我要在a目录下编辑程序,然后在b目录下运行程序,然后在c目录下查看errorlog,那么在打开screen之后,在默认的shell中cd a目录,这是第一个“窗口”,然后按Ctrl+a c键,注意是按住Ctrl键和a键,然后单独按一下c键,就打开了第二个“窗口”,在这个shell中cd b目录即可,同理打开第三个shell,cd c目录。“窗口”之间的切换主要有两种方式,一种是Ctrl+a p跳到前一个窗口,Ctrl+a n跳到后一个窗口,另一种方式是用Ctrl+a “显示出窗口列表进行选择,方便吧,手指不用离开键盘就完成了。如果窗口太多分不清了,还可以用Ctrl+a A给窗口起标题。

......[阅读全文]

送别永远的舒马赫

Monday, October 23rd, 2006

今天的巴西大奖赛无疑是舒马赫精彩的收山之作,虽然他没有登上领奖台,但他在我心中仍然是这场比赛的胜者。 我看F1比较晚,是从大约2003、2004年开始的,舒马赫和巴里切罗驾驶红色法拉利战车包揽一、二名的镜头仍然记忆犹新,还有一次是2004年陪lp逛商场,我就在商场的某个楼梯口看电视转播,lp自己去逛,谁让这时间和F1比赛冲突了呢,结果就看见巴里切罗在18个弯道的赛场的最后一圈的倒数第三个弯道超越特鲁力的精彩,从那以后,疯狂的迷上了F1,只是cctv的直播总是掉链子。 上一场比赛我由于上班没有看,事后知道了舒马赫爆缸退赛的消息,和所有舒迷一样,即为他感到惋惜,又盼望奇迹出现。但老天还是公平的,今天的比赛虽然没有奇迹出现,老天还是给了舒马赫一次完美表演的机会。 第10位发车,一路追到了费斯切拉后面,超越之后,却被费斯切拉蹭了一下左后轮爆胎。带着浓厚的个人情感和不太好使的眼神,我觉得这是费斯切拉故意之为,唉,留给后人评说吧。舒马赫不负众望得用三个轮胎把赛车开到了维修站,这点难度对他来说已经不算什么了,修整过后,重新杀回赛场,名列最后一位——17位。

......[阅读全文]

Fwolf’s Blog > Dash

Saturday, October 21st, 2006

今天突然在firefox的标签中看到了“Fwolf’s Blog > Dash”。 应该有很多人知道Dash吧,不知道的也应该知道VeryCD,至少也知道电驴,或者再差一点下载总应该听说过吧。 Dash就是VeryCD的老大,尽管很多人担心VeryCD的版权问题,也有人抱怨他们对驴子作了一些不太好的改动,Dash仍然很坚定的走着自己的路。现在VeryCD已经成为国内电驴下载的中心了,论坛的邀请也成了紧俏货,祝他们一路走好吧,还是那句话,电影还是要看的嘛。

......[阅读全文]

搞IT的真不容易啊

Friday, October 20th, 2006

有图为证,注意我选中的那一句:

来自Kijiji的招聘通告,再一次验证了搞导弹的不如卖茶叶蛋的这句至理名言。 翻翻中国的新兴web 2.0网站们,还发现了一些独特的招聘要求:

......[阅读全文]

如何区分php脚本是在shell下运行还是在web上浏览

Thursday, October 19th, 2006

一般我们使用php是作web开发用的,但php也能够在shell下运行,就像bash、python脚本一样,方式一是通过php -r或php -f命令(nix和win下都可用),另一种方式是在php文件的前面加上“#! /usr/bin/php”,并chmod +x xxx.php。 虽然php程序在这两种情况下运行的结果基本一致,但还是有所区别的,首先他们使用不同的php.ini配置文件,这个以前就说过了;其次两种情形下输出信息的时候要略微不同,在cli方式下运行,输出信息的分行一般使用回车就够了,而在web下浏览的时候,还要多加上一个<br />;最后得到参数的方式不同,cli下可以直接取argv数组,而web下则要通过$_GET数组。 那么有什么方法让我的脚本自动判断是处于哪种运行模式下,从而选择不同的处理方法呢?通过对比cli和web方式下phpinfo()反馈信息的不同,我发现基本可以用环境变量$ENV[""]来判断,当采用php -f方式执行的时候,$ENV[""]的值是/usr/bin/php,即执行文件的名称,当设置了“#! /usr/bin/php”并运行xxx.php时,$ENV[""]的值是./xxx.php,也是执行文件的名称,最后在web方式下浏览的时候,$ENV[""]的值是/usr/sbin/apache2,即解析php文件并反馈信息的web服务器执行文件的名称。那么,基于这个环境变量的值,我们就可以判断出程序的运行模式,并选择不同的处理方法了。下面是一个简单例子的源代码(cli_web.php),输出结果为得到的所有命令行或者get参数。

......[阅读全文]