说到看过次数最多的电影,我想应该是《教父》,准确的说是《教父》系列。

听说,斯坦利·库布里克(Stanley Kubrick)看《教父》看到第十遍的时候承认,这可能是历史上最伟大的电影。这样的天才看了十遍就下了这样的定论,而我这样的庸才只看了一遍就完全被震撼了。不过我又看了将近五十遍,包括后边的两个续集,细算一下等于我花了五百个小时去看同一部电影,我没觉得疯狂和奢侈。即便看了很多遍,每次我都一样的投入,总是告诉自己:只看半小时,只看这一段,但不知不觉又看到了结尾。经常看到有评论说,《教父》第三集和前两集不相配,水平欠缺。我不喜欢看那些影评人的评论,他们只是把电影当做职业,我难以相信一个为了赶稿而看片的人能真正的读懂一部电影。所以对于我来说,《教父》就是我的最爱,我给三集都打十分。

以下是我对电影一些零碎的记忆。
  
1. 开场的书房一段戏被称为影史最伟大的十个开场之一,但我倒觉得这一组镜头在近十个小时的电影里,只是一般稍好的水平。不过从这里我开始喜欢上汤姆TomHagen ,他可是我在这部史诗里最欣赏的一个角色,因为我认为他身上具有一个普通男人最有 价值的两种素质:冷静和忠诚。这和天赋无关,和地位无关,任何一个男人都应有这样的素质,他比任何人做的都好。说到书房的这场戏,我最印象深刻的是马龙·白兰度(MarlonBrando)起身的时候,他放下那只举世闻名的猫,以一个很cool的姿势站了起来,打算告诉殡仪馆的老板什么是友谊,也就是说屋子里的四个人有三个都站了起来,此时我往往会注意汤姆,他非常优雅的放下酒杯,standing,walking slowly,步伐迷人。好象类似的场合我可没有这么识趣,会傻乎乎的坐在那里。

2.接下来是婚礼。我有一个疑问,三集《教父》的开头都有意大利人狂欢的场景,第一次是康妮的婚礼,第二次是迈克向教育基金捐款,第三次是迈克接受教会的奖励。难道科波拉想为自己的经典作品贴上一个标签?第四集开头是什么?文森特的婚礼?

3. 和索龙多的谈判中桑尼插了半句话,当然是因为教父打断了他,可遗憾的是索龙多已经明白了他的意思。我一直认为是他这句话,他这半句话为教父招来了杀身之祸。如果科里昂家族里没有人支持贩毒,恐怕杀了教父也没用,何况他还说大家井水不犯河水。但就凭桑尼的这半句话,索龙多听到了桑尼的合作倾向,于是他决定干掉教父,那样将由长子桑尼接管家族生意,他们就有可能合作了。后来教父教训了儿子:Never tell anybody outside the family what you are thinking again。相似的是在第三集里迈克用类似的话教训了文森特:Never let anyone know what you are thinking。

4. 阿尔·帕西诺(Al Pacino)接受金球奖终身成就奖的时候,有一个让我很激动的场面,颁奖嘉宾凯文·斯派西(Kevin Spacey)带领全体观众一起高喊阿尔的名字,然后在众人“AlPacino!”的欢呼声中,凯文又和大家重温了阿尔的很多精彩表演,但得到最高评价的是两个经典场景,第一个是《闻香识女人》里那段探戈,第二个就是迈克在刺杀索龙多和警察局长前那三十秒的表演,据说试镜的时候他就是靠这一段征服了派拉蒙的老板。而那三十秒也让我很着迷,看了很多遍也学不来的。

5.桑尼死后,教父把他的尸体带到了殡仪馆,让老板来为之整理遗容。似乎教父的地位不容许他在别人的面前显露出一丝的软弱,在这场戏之前还不太容易看到教父对于失去儿子的真正反应。他在殡仪馆哭了,马龙·白兰度在这里的表演体现了他演技之神的价值,我能感受到一个父亲对于儿子最真挚最深沉的爱,那爱打动了我。我想那一刻对于一个父亲来说,即便是一位高高在上的big shot,也实在是太痛苦,太难承受了。

6.为了让迈克能平安的回来,教父组织了五大家族的一次会议,主题是和谈。曾有人这样评价白兰度的表演:如果你想知道‘老奸巨滑’的最高境界,那来看这一段。此时他已经有收拾五大家族首领的计划了,但还需要一个导演,就是迈克,此外他还需要暂时的稳定,所以有了这次会议,结果他也做到了。他的有让迈克有了足够的时间来安排这一切。

7. 在弗朗西斯·福特·科波拉(Francis Ford Coppola)的所有作品中,我最喜欢三部:《教父》、《吸血僵尸惊情四百年》、《现代启示录》。而他最招牌的剪切也都出现在这几部电影中,我还是更偏爱迈克处理五大家族首领的这一部分,暗杀和洗礼的穿插进行。“Michael,do you believe in God?”,“I do.”你觉得他是不是另一种意义上的上帝?我看是,至少那天他的手下们会这样认为。辛德勒告诉德国军官:当你能够杀人时候却放他一条生路,这才能证明你的权力。但在这里迈克证明自己绝对权力的手段是:杀掉别人认为你无法杀掉的人。

8. 卡洛出卖了自己的朋友,也是自己妻子的哥哥,所以迈克是不会放过他的。在卡洛的家里他用自己那逼人的威慑很轻松的让卡洛招了供。记得他怎么说的吗?“卡洛,别告诉我你是无辜的,因为那会是对我智力的一种侮辱,我会很生气。”我想如果牛津词典找不到对cool的合适解释,可以考虑把这一段加上。

9. 其实凯伊看了报纸之后已经怀疑迈克的所作所为了,但她还是希望从丈夫的 嘴里得到确认,因为她相信他不会骗她。而迈克本不想说,可伊逼得太紧,所以他决定撒一个慌。坦白的说,我第一次看到这里的时候也在心里暗自祈祷,希望迈克骗一次自己心爱的女人,这并不会影响他在我心目中的地位。随后凯伊相信了他,打算去为他倒杯茶,这时迈克开始接受手下的致敬,艾尔很有意味的关上了门。请留意黛安·基顿的表情,你说她在想什么?

10. 在看《教父续集》的时候,我一直很惊叹罗伯特·德·尼罗(Robert De Niro )对马龙·白兰度的模仿,很多姿势都是相当惟妙惟肖的。而这一集里阿尔·帕西诺就更令人兴奋了。他那冷冷的眼神使你很难把注意力从他身上挪开。我很为他不平的是,演了三集《教父》却没能得一座奥斯卡奖,哪怕是第一集的配角。估计看的太多,评委们把阿尔当成了本色演出。

11. 迈克在经历了袭击之后,决定把家族的管理全都交给汤姆,独自去调查谁是内线。他告诉汤姆:我们的兄弟其实都是生意人,他们的忠诚都是建立在钱的基础上的。换句话说就是不能轻易相信任何人,这也是他们为什么这么重视家族这个概念的原因,因为这是他们最能感到安全感的一个人群。可迈克做梦也没有想到是自己的亲哥哥把敌人带进了他的宅院。

12. 记得佛雷多是怎么说漏嘴的吧?他一到交际场合就会忘乎所以,很快让迈克知道了他和海门罗斯的关系。当时,迈克就站在他的身后,面无表情的看着他,只等他的话证实自己的怀疑。此后他在舞会上找到了自己的哥哥,狠狠的吻在他的嘴上(你还见过这样的cool的吻吗?),他还能怎么表达自己无奈又失望的感情呢,“我知道是你了,我知道是你了,你伤透了我的心!”

13. 在讨论如何处理海门罗斯的时候,汤姆反对冒险,而迈克却决定立刻解决敌人,不给他以喘息的机会。“If anything in this life is certain, if history has taug ht us anything,it’s that you can kill anyone.”这句话的确是一个黑帮老大才有权力说的话,够蛮横,够气魄。而他的决断成功的除掉了一个劲敌,但也牺牲了三大心腹中的一个,洛可。

14. Frankie本是迈克的人,由于海门罗斯的挑拨才公开反对迈克的,所以当他明白真相后放弃了对迈克的指证。可惜行有行规的,事情不会这样结束,汤姆和弗兰基进行了一段谈话来解决问题,那真是一次默契的对话:
Tom: 如果反对罗马国王的长老失败了,他还有一次活命机会,…
Frankie: 那是有钱人,小人物可不行,小人物会被清除干净,除非他自行了断 ,才可
保全家族的财富,使家人得到妥善的安排。
Tom: 那真是一个好机会,好交易。
Frankie: 然后他回到家里,坐在热水里,切开手腕,流血至死。
Tom: 你会没事的,Frankie,一切都会没事的。
Frankie: 谢谢,Tom,谢谢。
随后,弗兰基像他自己说的,用最悲壮的方式表达自己的忠诚,保住自己的家族 。

15. 第二集的结尾是我最喜欢的一个家族场面,四个儿子和一个女儿等着父亲回来切蛋糕,共庆生日。那温暖的家庭氛围让我羡慕不已:桑尼在迈克头上的一吻,佛雷多对弟弟简单的祝贺,还有桑尼和汤姆的嬉闹,只是没有看到父亲的出场。据说,科波拉打算让白兰度来客串一个镜头的,可该死的制片方由于和白兰度有矛盾拒绝了这个请求。他们不知道他们可能错过了一个最伟大的结尾,由于白兰度的缺席,这个结尾好像还是少了点什么。

16. 科波拉起用自己的女儿索非亚(Sophia Coppola)出演迈克的女儿一角被认为是他最大的败笔。可我看来倒也不至于太差,毕竟和她演对手戏的人都是影帝影后级别的大腕,能有这样的表演已经很不错了。她和安迪·加西亚(Andi Garcia)之间还是能擦出火花的,尽管加西亚的演出超出了他不少。

17. 迈克接受教会的嘉奖,在照完全家福之后还切了蛋糕,很漂亮很气派的大蛋糕。记得是谁送的吗?恩佐。就是那个在第一集里要被美国政府遣送回意大利,却和老板的女儿相爱的那个意大利小伙子。为了把他留在美国和女儿完婚,他的岳父只得去求教父帮忙,第一集后来没有交代,到了这里我们才又有了他的消息。

  
18. Fonda家族也算是好莱坞的演艺世家了,布里吉特.方达(Bridget Fonda)在第三集里也惊艳了一小把,被文森特骗上了床。由于家庭背景,她的气质确实与众不同,加上傲人的身材,成为第三集里的一个小小的亮点。我认为,即便在这种史诗中演一个小角色也比在《龙之吻》这种烂片中演个主角强百倍。
  
19. 乔伊·萨沙对委员们的大屠杀是我很钟爱的一场戏,我个人把这次的直升机袭击和迈克·曼《盗火线》里的银行大战、吴宇森《喋血双雄》中的教堂决战并列为三场最伟大的枪战(或许我看的太少了,不过这三种风格的确普及得很广)。

20. 迈克因为下令处决自己的哥哥佛雷多而产生的自责和内疚在他的老年变的更加剧烈,那本就是一个很难下定的决心,他最后一次拥抱哥哥时对手下使的那个眼色深深的印在我的脑海里。看到他中风时大喊“Fredo”,我几乎哭了出来,那是一声撕心裂肺的惨叫,还带着绝望般的忏悔。电影的后一半他真的有机会在上帝面前告解,他在神父的善导下反思自己,当他哭着说他杀了自己母亲的儿子时,连神父都停顿了一下。的确,这实在是太深重了,这样的罪责已经压了迈克几近一生。

21. 艾尔(Al Neri)是迈克的贴身保镖,他在三集《教父》中都露了面,这可是一个难得的荣耀。由于我对忠诚的迷恋,使我对艾尔的好感由来已久。第一集里他露面很晚,但他完成了迈克的大清洗计划中最重要的一击,是他结果了巴奇尼。年轻的他身手敏捷,枪法如神。到了第二集里,他已经是迈克不可缺少的得力助手,可惜才两年他就胖了不少,肚子明显大了一圈,想来不是导演的安排。最后一集里他派人帮助文森特除掉了乔伊· 萨沙,结尾又在罗马教堂亲自出手。让我高兴的是,他减肥很成功,简直比第一集里还要苗条。
 
《教父》里的故事太多了,我还有很多想说却说不完的话。其实每个人都会有一部最钟爱的电影,一部最贴近你的心的电影,只不过因为大家的经历和背景,才会有或大或小的差距。如果你有一段刻骨铭心的初恋,那你就有可能被《追忆似水年华》里那张小小的借书卡感动;如果你正处于绝望的谷底,那你一定很想和杜弗瑞一起在肖申克的墙外为希望和自由大喊;如果你在和你的爱人斤斤计较,那你可能会容易理解卡洛和多明妮克的平等之争,会被多明妮克那深情的手势感动。因为这些我们会庆幸电影的存在,我们热爱电影。因为太爱《教父》,我放弃了看原著小说的机会,我不在乎她怎么来的,我只爱她现在的样子
“我将给他一个无法拒绝的理由……”恐怕世界上在没有哪个演员能够演绎《教父》中,马龙·白兰度的这句对白,“教父”在人们心中所留下难以泯灭的印象是男人、是男人的家庭和男人的爱。
“不要憎恨你的敌人,否则你将做出错误的判断。”
,“让朋友低估你的优点,让敌人高估你的缺点……”
不照顾家人的男人,根本算不上是个男人!”
史玉柱成功是必然的

最近关注史玉柱的故事,突然冒出一个想法,撇开对史玉柱的道德评判,单纯从商业角度看,史玉柱在财富上的成功是必然的。并且当下对史玉柱的道德评判显然有点过分,比如,奢侈品的效果和脑白金的效果差不多,为什么没那么多人批评奢侈品?(我猜一个理由是,传媒从机构到个人都被奢侈品“收买”了)。与其他网游比起来,《征途》也没有过分到哪儿去,其实对《征途》的批评很大比例来自业内,认为它破坏了行业惯例。

史玉柱必然成功在两点,一是他抓住了有大众消费基础的需求,深刻理解消费者的心理特性,并以最简单的方式满足他们的需求。《三联生活周刊》对史玉柱几个产品的一个总结特别到位:“脑黄金”、“脑白金”卖健康;“黄金搭档”卖聪明;《征途》卖权力与欲望。我个人的体验是,春节去买礼物,选择实在太少,差一点就偷懒买上七八盒脑白金。

营销做的是高端拉动,史玉柱同样擅长做渠道驱动,他的成功的第二个因素正是渠道。史玉柱认为网游的主要市场不在北京上海广州这些金字塔尖,而在农村。无论从脑白金,还是做征途,史玉柱都建立起直达县一级的渠道。史的渠道模式是,把市场销售的工资压得很低,但提成高得惊人。他的销售团队,是完全由赚钱所驱动的。

有个细节说明了史在商业上的智慧。我们在西方的营销案例中无数次看到区域性试销,但在中国中,这相当少见。脑白金最早是在江阴试销的,送了价值10万的产品,看到效果之后,再各地逐渐铺开。

在宝洁和可口可乐的中国实践中,我们也看到有直到最基层的渠道,那是它们国际渠道模式在中国的复制,我们经常能看到宝洁、可口可乐的各类前营销人员写的类似经历。不过它们似乎没有在中国搞试销。它们也没有像史玉柱那样根据中国的实际情形改造渠道,比如高提成,而仍然是职业发展加金钱收入的混合模式。
有天使呵护的男人注定要成功
向应聘者提出这样一个问题:“如果你驾驭着一匹烈马,应该怎么办?”
她朗声说道:“如果我驾驭着的是一匹烈马,我先勒紧缰绳,然后用鞭子狠狠地抽它!”
此一时,彼一时,经过了这一番风吹雨打,我悟到了,人世间最可宝贵的不是财富,而是无私无我的一份情义
史玉柱:也有人认为我不会搞管理,但我自认为我的管理还可以。
因为不管哪套管理,
目的无非有四:
第一,能让员工的积极性最大限度发挥;
第二,能让销售额最大化;
第三,能让成本最小;
第四,货款及公司是安全的。

事过境迁,如今想来,他有次与四通的老板段永基的一段对话十分经典:成功的经验总是因放大而扭曲,而失败的教训才更加真实。
“史玉柱这个营销团队相当于中国保健品领域的美国戴尔公司。我看好的就是史玉柱和他的这个团队,”这是2004年段永基聘请史玉柱担任四通控股CEO的理由。

   “我看好的不是一个产品”,段永基面对媒体质疑脑白金功能时说,“脑白金就其技术含量来说,什么都不是”,但“真的白金卖出白金价,不是本事;而把不是白金的东西卖出了白金价,那才是真功夫。”

   “把一个什么也不是的产品变成了钱”,这就是段看重史的地方。


   史玉柱对此的解释是,“这个东西有用没用,在于人们信不信。这就是诀窍。”

曾经有媒体吹捧说“史玉柱以一种行为,纪念了一个时代”。而史玉柱则异常低调地回答:“我只是个干活的人”,“并不是我有意把活儿干成这样,只是我只能干成这样。”
曾经有史玉柱当年的部下,见到央视《对话》节目的主持人对复出后的史玉柱以“天才”相称时,在“对人类博大而盲目的同情心和英雄崇拜的情结俯首无语”时,也感到了悲哀:他认为毁掉史玉柱的正是他的“营销天才”。


他自称从来不看科特勒们的营销书籍,却牢牢把握住了营销的终极方向———消费者
软硬勿相碰,版面读者多,价格四五扣,标题要醒目,篇篇有插图,党报应为主,宣字要不得,字形应统一,周围无广告,不能加黑框,形状不规则,热线不要加,启事要巧妙,结尾加报花,执行不走样,效果顶呱呱

“喜欢吃肉的,未必能当好厨子。”——这是当年盛大陈天桥对游戏爱好者和运营者关系的一句概括(史玉柱喜欢,能运营好游戏?)
你们不了解这个产业,现在保健品是白天睁着眼睛我们在赚钱,游戏这个产业是晚上我们睡觉的时候也可以赚到钱
几年前,史玉柱曾像这位姓乔的小伙子迷恋《征途》一样,对盛大的“传奇”上瘾,他平均1个月在《传奇》上的开支超过5万元,在一个拥有极品装备的账号上先后共投入了几十万元。“他每天要花四五个小时泡在网络游戏上。”盛大前副总朱威廉说,“史玉柱为了游戏装备或游戏里遇到的问题,经常直接打电话给陈天桥。陈天桥有时也会在公司高层会议上提起这些,陈天桥当时很得意,认为《传奇》的市场推广做得很成功,能吸引像史玉柱这样重量级的玩家。”

比起不玩游戏的丁磊和陈天桥,史玉柱更知道哪些东西让人欲罢不能。史玉柱进入网游行业前曾问他的开发团队:为什么一定要枯燥地打怪升级?开发人员回答,所有游戏都是这样。史玉柱于是按自己的意愿,让升级变得容易,让玩家对装备的依赖变得更强,这个程序修改的本质是在钱上:“卖点卡的方式回收资金,史玉柱觉得太慢了。玩家直接向他购买装备,这绕开了一些中间商,减少了不必要的成本,也大大加快了金钱回收的速度。”
销售额就是一切
金玉言说,“(史玉柱)上马一提金,下马一提银,确实很讲义气,对帮过他的人不会忘记”

http://forum.ubuntu.org.cn/about63843-0-asc-0.html



[url=http://www.ithaka.cn/Down/View.asp?id=11][/url]
main( )
{
   int *p,**m;
   m = &p ;
   printf("%d",m);
}
~


得益于:
[url=http://tech.tute.edu.cn/xujpkch/lili/c/study%20online/part9/9-7-2.cfm.htm][/url]
cd /usr/ports/editors/vim6
make
make install
我每天早上醒来,牙齿上都会带点血迹,这是为什么呢?而怎样弄才不会这样?
不止牙齿,嘴里的上颚早上醒来也是有血迹..我想应该也是牙齿留的吧``可以前都不会啊,以前都是牙齿而已。。这又是为什么?
答:牙齿流血的原因很多:一、缺维C。在以前贫困地区常发生,大概属于营养不良。如果你的饮食太差而导致牙银流血,很可能是缺维C,脐成,萍果、胡罗波等水果蔬菜都含丰富维C,如果用药物补充维C(如维C片),要注意还要多吃东西。因为维C片必须与食物一起才能起作用。但能上网的我想大概也不会因营养不良导致牙银流血,所以第一条原因是屁话。二、睡眠。这一点也很重要,但我不知道原因。我睡眠好的时候牙银流血现象就要好些。熬夜多了,随时都觉得口里有血。有段时间我住院,生活很有规律,居然好多年牙齿流血的毛病在那几周刷牙都不会流血,不过出院没多久,我又故态重萌。三、刷牙方法不正确。我刷了二十几年的牙,结果有一天才发现居然方法有问题,我GF的刷牙方法是正确的,我问她为甚麽不告诉我,她狂笑,满脸歉意,“我不知道你连牙都不会刷”,气死我了。其实,如果你到医院去,你会发现现在至少有60-80%的成人都不会刷牙,牙科医生称为之文明病。好了,我扯得太远,错误的方法是横着刷,这样牙齿不容易刷干净,而且牙银要被刷伤,你照照镜子,如果发现有的牙根(我不懂专业术语,大概就是这个位置了)有点暴露出来,用指甲轻轻一碰觉得酴痛的话,你已经跟我一样了。一句话,刷牙应该竖着刷,既能清洁干净,又不会伤牙银,具体方法网上找得到。四、需要洁牙。你可以说你每天都刷牙,而且方法也正确,还是早晚加上中午三次,难道还要洁牙?的确需要,无论你怎麽刷,都不可能完全干净,久之,会产生牙结石,压迫着牙银,发生牙银炎,牙银红肿,常流血,这是最主要的原因了。我想大多数人都是这个原因。一般来说,正常不抽烟的一两年也需刷一次牙,我到医院洁了牙后,牙银再也没有流血了。五、内脏有病。据我所知,五脏六腑有病也会在牙齿上体现出来。具体案例我只知道肝炎晚期就满口牙血,散发着腥味,我在川医住院时,就有人得了肝炎还不知道休息,没多久就升天了。所以说不想去检查也得去,而且,要找负责的医生,有的医生没职业道德,真是害人啊
内容:
系统标识
时间与日期
多进程编程


1. 系统标识符
   a.获得有关的系统信息
      #include
      int uname( struct utsname * name);// 用 man uname 查看 struct utsname
   b.获得系统的名称
      #include
      int gethostname( char* name, int namelen ); // 成功返回 0, 否则返回 1
      例子:
     

      #include<iostream>
 #include<unistd.h>
 #include<sys/utsname.h>
 
 using namespace std;
 
 int main(){
  cout<<"-------------- hostname ------------"<<endl;
  char name[ 100 ];
  memset( name, 0x00, sizeof( name ) );
  gethostname( name, sizeof( name ) );
  cout<< name <<endl;
 
  cout<<"-------------- uname ----------------"<<endl;
  struct utsname nm;
  memset( &nm, 0x00, sizeof( nm ) );
  uname( &nm );
  cout<<"sysname ="<< nm.sysname <<endl;
  cout<<"nodename ="<< nm.nodename <<endl;
  cout<<"release ="<< nm.release <<endl;
  cout<<"version ="<< nm.version <<endl;
  cout<<"machine ="<< nm.machine <<endl;
  return 0;
 }
 

 
2. 时间与日期
   4种表示形式:(1)time_t 1970年至今的秒数               (2) struct tm 以结构表示
                         (3) char * 字符串                               (4) formated char*  自定义格式
   (1)-->(2) 转换有函数: localtime() // 本地时间            gmtime() // 格林威治时间
   (2)-->(1) 转换有函数: mktime()
   (1)-->(3) 转换有函数: ctime()
   (2)-->(3) 转换有函数: asctime()
   (2)-->(4) 转换有函数: strftime()
   例子:
   

   #include<iostream>
#include<time.h>
using namespace std;

int main(){
 // time() get kernel time
 cout<<"-----------time_t-----------"<<endl;
 time_t t=0;
 time( &t );
 cout<< t <<endl;
 
 // time_t --> struct tm, localtime(),gmtime()
 // man localtime to see the struct tm
 cout<<"-----------struct tm-----------"<<endl;
 struct tm *p=NULL;
 p=localtime( &t );  
 cout<<"year:"<< p->tm_year+1900 <<endl; // the number of years since 1900
 cout<<"month:"<< p->tm_mon+1 <<endl; // tm_mon ranges 0 to 11
 cout<<"day:"<< p->tm_mday <<endl;
 
 // struct tm --> time_t
 cout<<"-----------mktime-----------"<<endl;
 time_t t1;
 t1=mktime( p );
 cout<< t1 <<endl;
 
 // time_t --> char *
 cout<<"-----------ctime-----------"<<endl;
 cout<< ctime( &t ) <<endl;
 char ct[ 100 ];                        //如果想保持返回值应开辟新空间,不能直接定义指针保存
 memset( ct, 0x00, sizeof( ct ) ); //因为ctime的返回值总是在同一空间,下次调用ctime时就会被更改
 strcpy( ct, ctime( &t ) );
 cout<< ct <<endl;
 
 // struct tm --> char *
 cout<<"-----------asctime-----------"<<endl;
 cout<< asctime( p ) <<endl;
 
 // struct tm --> formated char*
 cout<<"-----------strftime-----------"<<endl;
 char ft[ 100 ];
 memset( ft, 0x00, sizeof( ft ) );
 strftime( ft, sizeof( ft ), "%Y-%m-%d %H:%M:%S", p );
 cout<< ft <<endl;
 return 0;
}


3.system 函数
  #include
  int system( const char * string );
  执行string 所表示的命令,将产生一个新的进程,system为阻塞函数, 新的进程结束后才继续
  例子:
 

  #include<iostream>
#include<stdlib.h>
using namespace std;

int main(){
 cout<<"----------begin---------"<<endl;
 system("ls -l");
 cout<<"----------end-----------"<<endl;
 return 0;
}

// 一个简单的shell
#include<iostream>
#include<unistd.h>
using namespace std;

int main(){
 char cmd[ 100 ];
 memset( cmd, 0x00, sizeof( cmd ) );
 while( 1 ){
  cout<<"[irini@localhost]#";
  cin.getline( cmd,sizeof( cmd ) );
  if( strcmp( cmd,"bye" )==0 ) break;
  system( cmd );
 }
 return 0;
}



4. atexit() 函数
  #include
  int atexit( void (*func) (void) );
  登记exit handler,最多可登记32个,在进程退出时最后登记的先调用,最先登记的最后调用
 
5. exit 与 _exit
   * 进程的退出过程:
   进程做的事: exit handler( atexit注册的), 关闭IO流,如果申请了堆空间就释放
   ------------------------------------------------------------------
   kernel做的事: 销毁进程空间, 删除进程表中的相应项
   *  exit 是正常退出,想做进程的,然后进入kernel处理
      _exit 是异常退出,直接进入kernel
   
   例子:
   

   #include<iostream>
#include<unistd.h>
using namespace std;

void fn1(){
 cout<<"in fn1()..."<<endl;
}
void fn2(){
 cout<<"in fn2()..."<<endl;
}
int main(){
 atexit( fn1 );
 atexit( fn2 );
 cout<<"return from main..."<<endl;
 //exit( 0 );
 _exit( 0 );
}



6. 进程标识符
  #include
  #include
  pid_t getpid(); // 当前进程号
  pid_t getppid(); // 得到父进程号
  例子:
 

  #include<iostream>
#include<sys/types.h>
#include<unistd.h>
using namespace std;

int main(){
 cout<<"pid="<<getpid()<<endl;
 cout<<"ppid="<<getppid()<<endl;
 return 0;
}



7. fork 函数
   * 创建一个新进程,这个进程是父进程的完全拷贝,完全拷贝父进程的进程空间,唯一的区别是fork()的返回值不同
     返回给父进程的是子进程的pid, 返回给子进程的是0        
     
     例子:
     

     #include<iostream>
 #include<sys/types.h>
 #include<unistd.h>
 using namespace std;
 
 int main(){
  pid_t cid=fork();
  if( cid==0 ){
   for( int i=0; i<5; i++ ){
    cout<<"[child] pid="<<getpid()<<" ppid="<<getppid()<<endl;
    sleep( 1 );
   }
   exit( 0 );
  }else if( cid > 0 ){
   for( int i=0; i<5; i++ ){
    cout<<"[father] pid="<<getpid()<<" cid="<<cid<<endl;
    sleep( 1 );
   }
   exit( 0 );
  }else{
   cout<<"error"<<endl;
   exit( -1 );
  }
  return 0;
 }
 

 
  * fork后,父子进程相互独立,如果之前父进程申请了一个堆空间,那之后父子进程中的指针值相同吗?
    通过程序可验证他们是相同的,但指向的空间是不同,因为进程中分配给指针的不是绝对地址,
    是逻辑偏移地址,进程空间中正文段的起始地址是逻辑0
   
  * 如果父进程在子进程之前退出,子进程会被初始化进程(pid=1) 托管
    如果子进程在父进程之前退出,子进程不会被销毁,变为僵死进程 Z状态,等待父进程处理
   
    例子:
   

    #include<iostream>
 #include<sys/types.h>
 #include<unistd.h>
 using namespace std;
 
 void fn(){
  cout<<"in fn()... "<<endl;
 }
 int main(){
  atexit( fn );
  pid_t cid=fork();
  if( cid==0 ){
   for( int i=0; i<5; i++ ){
    cout<<"[child] pid="<<getpid()<<endl;
    sleep( 1 );
   }
   exit( 0 );
  }else if( cid > 0 ){
   cout<<"father exit..."<<endl;
   exit( 0 );
  }else{
   cout<<"error"<<endl;
   exit( -1 );
  }
  return 0;
 }
 

 
8. wait 和 waitpid 函数
   处理结束的子进程,是阻塞函数
   #include
   #include
   pid_t wait( int * statloc );
   pid_t waitpid( pid_t pid, int *static, int option );
   返回值为子进程的pid
   statloc 用于接受终止的子进程的返回状态
   option 通常设为0  
   
   
   例子:
   

   #include<iostream>
#include<sys/types.h>
#include<sys/wait.h>
#include<unistd.h>
using namespace std;

int main(){
 pid_t cid=fork();
 if( cid==0 ){
  sleep( 3 );
  cout<<"[child] pid="<<getpid()<<" ppid="<<getppid()<<endl;
  exit( 0 );
 }else if( cid > 0 ){
  cout<<"[father] pid="<<getpid()<<" cid="<<cid<<endl;
  int statloc=0;
  pid_t id=waitpid( cid, &statloc, 0 );
  cout<<"[child] "<< id <<" exited"<<endl;
  cout<<"exit value is "<< statloc <<endl;
  if( WIFEXITED( statloc ) )
   cout<<"value "<<WEXITSTATUS( statloc )<<endl;
  else  cout<<"signal "<<WTERMSIG( statloc )<<endl;
 }else{
  cout<<"error"<<endl;
  exit( -1 );
 }
 return 0;
}


9. exec 函数
  类似system,建立新的进程,但不新建进程空间,而是把原进程空间清0变成自己的开始执行
  则原进程exec之后的代码不在存在,失效
 
  例子:
  [code]
  #include
#include
using namespace std;

int main(){
 cout<<"-------------begin-----------"<  //execlp( "ls","ls","-l","-a",NULL );   // 第一个参数为要执行的命令文件名,后面的为命令行参数(从0开始都要写,以NULL结束)
 char* argv[]={ "ls","-l","-a",NULL };
 execvp( "ls", argv );
 cout<<"-------------end-------------"<  return 0;
}
1 安装系统和软件;

通过安装,我们能了解Linux的目录结构;系统和软件的安装方法,以及基本目录、文件和用的操作,没有比这些更基础的吧。

2 对硬件的安装和维护;

Linux是个系统,我们得把她用起来才能达到我们的目的。在生产、生活和或者娱乐中的应用,最能体现她的价值。比如我们要让Linux支持 scsi ;raid ;usb; firewire; mouse; video card;TV card 等,无非就是应用。比如我有鼠标,在我的Linux中却用不起来,是不是有点浪费??

3 用户管理;

Linux是一个多用户,多任务的系统,要让很多人能同时用这台机器的Linux,我们不得不经常对用户进行增加或者删除。有的弟兄可能会说,我的机器上只有一个显示器一套键盘和鼠标,怎么让更多的用户应用呢??可能初学Linux的弟兄可能早就明白了,比如 web服务器,是不是多用户的呢??ftp服务器也应该是多用户的吧。咱们不是有远程登录ssh 和telnet吗?这个多用户可不是一台机器,几个人同时挤在同一个键盘和显示器上用不同用户名登录系统。

4 磁盘管理;

磁盘是有限的,就是再大的磁盘需要管理。因为我们都是玩家,再大的磁盘也感觉小。我现在有160的磁盘,我感觉还是不够用,所以要把有限的空间都利用上,还得对磁盘有个计划。。比如限制用户家目录空间;限制用户上传文件大小;定时查看磁盘分区的利用率 。管理员经常用 fdisk -l 或者 df -h du -h 查来看分区,目录的大小等

5 检测系统状态;

有时学习Linux的弟兄总是问“为什么我的机器开机这么慢?”;“Linux真的是浪费内存,对不对?”等。其实这些问题都涉及到系统监测。比如 CPU、内存、网络利用率等。因为生产型系统是必须有效率的。如果一台服务器反应迟钝,可能最急的是管理员。管理员首先要做的可能是查看系统运行状态。比如用top ; sar ; netstat等 ;

6 安全和备份;

对于生产型的系统,没有比安全更重要了。如果发现安问题,可能管理员首要做的就是停止相应的服务,查看日志,执行备份,以及打补丁。

世上没有绝对安全的东西,硬件的可靠性没有百分之分的,Linux系统也不是百分之百的安全。每天进行日常备份还是极为必要的。比如我们把重要的数据用备份到一个较为安全的地方,比如磁带机,本地机,或者网络上的计算机上。

7 灾难恢复;

有了备份,才能有恢复之说,如果没有备份,那就只能是一切从头开始了。我想大家在玩自己的机器时也有所体会吧。灾难只能说是天灾了,真的遇到了灾难,咱们不能怨天忧人了。骂什么或者怪自己太大意都没有用,我们做的只能是自己承受,能恢复多少算多少吧。只要每天都用心尽力了,恢复还不是太大的问题。

8 网络管理;

Internet 是最流行的,自从我们在学校的BBS和恐龙MM聊天开始,可能我们就懂得了Internet的强大,虽然在学校可能是校园网,但我们还是感觉到了网的神秘。在电视中,我们经常看到七八十岁的老爷爷和老奶奶运指如飞,对着显示器聊的不亦乐乎。这就是net的魅力。我们可以在LinuxSir上聊天灌水,也是net的魅力。在LinuxSir的后面呢???这就是我们所要谈到的,管理和版所要做的,比如web服务器架设,FTP 、 IRC 、防火墙的架设;网络基本操作。比如简的设置IP,IP追踪; whois 这个ip是从如来的,各种网络服务器进程查看等 。

9 系统管理与日志分析;

这个概念有些大,有的人也把系统管理看上最高点,把用户管理;磁盘管理;网络管理;安全都纳入这个关健词之中。这也是有道理的。因为这么多的管理都是密不可分的,离了哪个都不行。当然还有好多的零活让我们来做,比如系统优化,内核编译等。系统管理概念比较大,麻烦事也比较多。以后在各部份一步一步的让初学Linux的弟兄体验体验,可能有的弟兄早就体验过了,只是不知道他就是在体验系统管理 。

日志分析对于我们了解系统运行还是极有帮助的,否则有人攻击我们的机器都不知道,那不麻烦了?通过分析日志,我们能得到硬件及各种软件的运行状态,以及他们配合的是否正常等。系统中的每个服务都有日志,这对于我们找出系统运行中出现故障有极大的帮助。有时发现问题比解决问题更难,我相信初学 Linux的弟兄慢慢就明白这个道理了。

10 开发:

玩Linux的最高境界,可能就是开发了。现在我还是处于对系统的学习阶段,所以不能写出什么开发的经验之谈。一想到自己能造出一个发行版自己用用,也是件高兴的事。

加油吧。。。。。。弟兄们!
一直用着vi,有朋友劝我用vim,那么它们有什么区别呢?
简单点来说,它们都是多模式编辑器,
不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,
而且还有一些新的特性在里面。
vim的这些优势主要体现在以下几个方面:

1、多级撤消
我们知道在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消。

2、易用性
vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。

3、语法加亮
vim可以用不同的颜色来加亮你的代码。

4、可视化操作
就是说vim不仅可以在终端运行,也可以运行于x window、 mac os、 windows。

5、对vi的完全兼容
某些情况下,你可以把vim当成vi来使用。
[Last Modified By songzi, at 2006-08-07 14
对象属性
document.title             //设置文档标题等价于HTML的<title>标签
document.bgColor           //设置页面背景色
document.fgColor           //设置前景色(文本颜色)
document.linkColor         //未点击过的链接颜色
document.alinkColor        //激活链接(焦点在此链接上)的颜色
document.vlinkColor        //已点击过的链接颜色
document.URL               //设置URL属性从而在同一窗口打开另一网页
document.fileCreatedDate   //文件建立日期,只读属性
document.fileModifiedDate  //文件修改日期,只读属性
document.fileSize          //文件大小,只读属性
document.cookie            //设置和读出cookie
document.charset           //设置字符集 简体中文:gb2312
---------------------------------------------------------------------
对象方法
document.write()                  //动态向页面写入内容
document.createElement(Tag)       //创建一个html标签对象
document.getElementById(ID)       //获得指定ID值的对象
document.getElementsByName(Name)  //获得指定Name值的对象
---------------------------------------------------------------------

images集合(页面中的图象)

a)通过集合引用
document.images             //对应页面上的<img>标签
document.images.length      //对应页面上<img>标签的个数
document.images[0]          //第1个<img>标签          
document.images[i]          //第i-1个<img>标签

b)通过nane属性直接引用
<img name="oImage">
document.images.oImage      //document.images.name属性

c)引用图片的src属性
document.images.oImage.src  //document.images.name属性.src

d)创建一个图象
var oImage
oImage = new Image()
document.images.oImage.src="/1.jpg"
同时在页面上建立一个<img>标签与之对应就可以显示

<html>
<img name=oImage>
<script language="javascript">
  var oImage
  oImage = new Image()
  document.images.oImage.src="/1.jpg"
</script>
</html>

----------------------------------------------------------------------

forms集合(页面中的表单)

a)通过集合引用
document.forms                 //对应页面上的<form>标签
document.forms.length          //对应页面上<form>标签的个数
document.forms[0]              //第1个<form>标签
document.forms[i]              //第i-1个<form>标签
document.forms[i].length       //第i-1个<form>中的控件数
document.forms[i].elements[j]  //第i-1个<form>中第j-1个控件

b)通过标签name属性直接引用
<form name="Myform"><input name="myctrl"></form>
document.Myform.myctrl         //document.表单名.控件名

-----------------------------------------------------------------------
<html>
<!--Text控件相关Script-->
<form name="Myform">
<input type="text" name="oText">
<input type="password" name="oPswd">
<form>
<script language="javascript">
//获取文本密码框的值
document.write(document.Myform.oText.value)
document.write(document.Myform.oPswd.value)
</script>
</html>
-----------------------------------------------------------------------
<html>
<!--Select控件相关Script-->
<form name="Myform">
<select name="oSelect">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</form>

<script language="javascript">
  //遍历select控件的option项
  var length
  length=document.Myform.oSelect.length
  for(i=0;i<length;i++)
  document.write(document.Myform.oSelect[i].value)
</script>

<script language="javascript">
  //遍历option项并且判断某个option是否被选中
  for(i=0;i<document.Myform.oSelect.length;i++){
  if(document.Myform.oSelect[i].selected!=true)
  document.write(document.Myform.oSelect[i].value)
  else
  document.write("<font color=red>"+document.Myform.oSelect[i].value+"</font>")  
  }
</script>

<script language="javascript">
  //根据SelectedIndex打印出选中的option
  //(0到document.Myform.oSelect.length-1)
  i=document.Myform.oSelect.selectedIndex
  document.write(document.Myform.oSelect[i].value)
</script>

<script language="javascript">
  //动态增加select控件的option项
  var oOption = document.createElement("OPTION");
  oOption.text="4";
  oOption.value="4";
  document.Myform.oSelect.add(oOption);
</script>
<html>
-----------------------------------------------------------------------
<Div id="oDiv">Text</Div>
document.all.oDiv                       //引用图层oDiv
document.all.oDiv.style                
document.all.oDiv.style.display=""      //图层设置为可视
document.all.oDiv.style.display="none"  //图层设置为隐藏
/*document.all表示document中所有对象的集合
只有ie支持此属性,因此也用来判断浏览器的种类*/
雅虎网易邮箱大战升级 竞争无限量邮箱,我都听朋友说yahoo老是要找ajax程序员呢。。。原来是要基于ajax搞邮箱开发,以后它去yahoo哈哈,说不定和我就是有竞争关系了,到时有得搞了。。。。。
   昨天才得到朋友确切消息,确实是真的有得搞了。。。
分页: 303/339 第一页 上页 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 下页 最后页 [ 显示模式: 摘要 | 列表 ]