<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>Silence && Think</title>
    <description>展现自己，哪怕做不好。</description>
    <link>http://yanshiyi.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>毕业两年了——发展的机会来了？</title>
        <author>yanshiyi</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yanshiyi.javaeye.com">yanshiyi</a>&nbsp;
          链接：<a href="http://yanshiyi.javaeye.com/blog/207240" style="color:red;">http://yanshiyi.javaeye.com/blog/207240</a>&nbsp;
          发表时间: 2008年06月23日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 正当糊里糊涂的混日子，经理终于有重要的事交给我了： 去HP做linux下做c开发。</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HP我知道，一家大公司；c语言我也知道，很难用，所以c语言好的人都很值钱；linux我也知道，每天逛论坛，使我了解到linux高手工资很高。所以HP+c+linux对我来说就是一个极大的诱惑，一个通向美好前景的捷径。我甚至想到，如果我把这些技术学好后，就有可能在HP工作，以正式工的身份。</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 经理们当然不会知道我这些小九九，交代我一些准备事宜后，他也去幻想去了，幻想着从大公司学会一些先进的经验。需要准备的知识就是vi，c语言方面的一些高级知识，makefile文件的编写。这些都是基础知识，不过对于我来说那可真是难，虽然每天都在学习，但是除了学会了一些vi的简单指令，了解了一些c的方法，其他什么都不会，直到现在我还深以为憾。</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 本来我以为去HP做外包直接就去了，没想到还要面试。面试的那一天，经理交代了一些事，但是归纳起来就是一件事：撒谎。我没做过c开发，所以经理给我虚构了一些经验。我不喜欢撒谎，但是为了工作只好撒谎。跟面试官聊天时，我把事先编好的答案都背了出来。虽然很少撒谎，但是我一点不紧张，这就是天赋。可惜我心里素质虽好，但是肚里没货，人家几个问题就看出我的水平了，只是没有点破，而我暗自得意。</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c语言的面试结束后，还有两轮面试，都是关于java的，面试的人级别都比较高，搞得我还以为是正儿八经的招聘，心里暗想：公司不是把我卖了吧？关于java的面试，我答的还算是可以的，毕竟这是自己真正做过的事情。不过后来经理跟我说，其实人家根本没看中我，我能去做外包是因为外包部门的主管跟经理们是大学校友。</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 面试的事过后，我回到了公司，而经理之一跟那个元老被派去做外包。那个元老去了几天，天天叫嚷辛苦，也确实辛苦，每天11点才回来。我对大公司的人的水平很感兴趣，以为都很厉害，但是元老说水平很一般，他好多年没写c了，也能跟他们不相上下，只有经理跟HP的一个员工比较厉害。我听了很失望，但是又觉得这小子吹牛，想去HP的愿望还是很强烈，只是一直没消息。无聊中我又回到了百无聊奈的状态，偶尔做做经理分配下来的任务，心里时不时浮现出在大公司工作的场景。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://yanshiyi.javaeye.com/blog/207240#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 23 Jun 2008 22:32:22 +0800</pubDate>
        <link>http://yanshiyi.javaeye.com/blog/207240</link>
        <guid>http://yanshiyi.javaeye.com/blog/207240</guid>
      </item>
      <item>
        <title>毕业两年了——带队？</title>
        <author>yanshiyi</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yanshiyi.javaeye.com">yanshiyi</a>&nbsp;
          链接：<a href="http://yanshiyi.javaeye.com/blog/207229" style="color:red;">http://yanshiyi.javaeye.com/blog/207229</a>&nbsp;
          发表时间: 2008年06月23日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 那个大项目的投标失败，使经理们意识到把公司放在居民楼里不是个事儿，于是在十一月我们搬了出去，新的办公地址位于徐汇区某个军区后勤处。搬家对我来说是件很糟糕的事，以前只需要走半个小时我就赶到公司了，所以我每天都磨蹭到8点半才出发。搬家后，不能睡懒觉了，每天7点20起床，洗脸刷牙，然后坐一个小时的公交赶到徐家汇，然后迈开双腿，以竞走的速度赶到公司，每天腿都走的很疼，时不时还迷路。除了走路，每天又多出了4块钱的开支，正当心疼这笔开支时，经理们又增加了伙食补贴，算一下还是比较合适。</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 到了新的公司，经理看我们几个百无聊奈，给了我们一个任务：将公司的邮箱管理系统重写。本来这个项目由那个元老负责的，但是在接受任务的第二天他就被拉去维护另一个项目了。不知处于什么原因，经理叫我负责这个项目。说是负责，其实任务都已经安排好了，我所需要做的就是搭建开发环境，实现service与dao，同时修改一下RequestProcessor类。这些活儿并不难，根据上一个项目的代码我很快就写完了。但是经理要我写单体测试的代码，这也是我第一次听说单体测试与junit。从网上找了一些资料后我就开始写了，以现在的眼光那代码写的相当的可笑，几乎没什么用处。虽然测试代码写的不怎么样，但是经理也没说什么。事实上经理根本不关心这个事，只是偶尔问问我们的进度，按同事的说法就是经理在练兵。这话我听了很不舒服，认为是他们磨磨蹭蹭的借口，现在来看，的确如此，因为那个项目根本没有完成。</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 那段时间是百无聊奈的，写完底层的代码我也写了一些页面部分的代码就什么也不做了，因为我觉得分配给我的事情做完了，也没想过优化之类或者重构之类的问题，经理也没进一步的指示。每天到了公司就是发呆，别人肆无忌惮的上着网，而我则老老实实的看代码，企图发现其中的bug，后来代码看的无聊了，又在论坛上到处逛，看看别人发的帖子。那时看的都是技术贴，但是都看不懂，所以每天就算是在混日子，忘记了自己有任务在身。</p>
          <br/>
          <span style="color:red;">
            <a href="http://yanshiyi.javaeye.com/blog/207229#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 23 Jun 2008 21:59:12 +0800</pubDate>
        <link>http://yanshiyi.javaeye.com/blog/207229</link>
        <guid>http://yanshiyi.javaeye.com/blog/207229</guid>
      </item>
      <item>
        <title>毕业两年了——真正的挑战？</title>
        <author>yanshiyi</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yanshiyi.javaeye.com">yanshiyi</a>&nbsp;
          链接：<a href="http://yanshiyi.javaeye.com/blog/206943" style="color:red;">http://yanshiyi.javaeye.com/blog/206943</a>&nbsp;
          发表时间: 2008年06月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 十一过后，经理们准备接一个比较大的项目，据说如果接了这个项目，我们公司三年之内都可以不用愁项目了，而且公司也有了发展的方向。可惜后来这个项目没有接到，间接的导致了我很多的不幸。</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当时为了争取到这个项目，经理给我和那个元老安排了一个任务，就是利用laszlo开发出一个模仿google的金融数据显示器（这个名字并不恰当），当时我对laszlo一窍不通，那个元老也是如此，我们俩各有所长，他经验比较丰富，做过c/s模式开发，我则胜在英语水平较好，可以直接读文档。事实上那个元老继续没怎么动手，大部分的代码都是我写的，他偶尔出出主意，其他时间就是查房子，经理对此充耳不闻，我埋头苦干。辛苦了半个月后，终于了有了一些成果，经理们看了还是很高兴的，只有我很担心，因为不是完全实现参照物的功能，而未实现的那一部分才是难的。幸而不幸的是那个项目没接到，这个东西也就没意义了。经理不在关注，可恶的是也不给我说一声，叫我提心吊胆得过了一星期，在听同事们鼓惑之后，也停止了开发，转而学习laszlo的一个对头，flex。不过也没有深入，因为flex的文档我实在看不懂，编辑器还收费，从书上抄的代码总是出错，坚持了一个星期后就放弃了。以后的日子怎么过的我也忘记了，想来很是索然无趣。</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果我知道以后的日子是如此的紧迫，我会好好学习基础的知识，可惜，这个世界没有如果，只有已经。</p>
          <br/>
          <span style="color:red;">
            <a href="http://yanshiyi.javaeye.com/blog/206943#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 22 Jun 2008 23:39:53 +0800</pubDate>
        <link>http://yanshiyi.javaeye.com/blog/206943</link>
        <guid>http://yanshiyi.javaeye.com/blog/206943</guid>
      </item>
      <item>
        <title>毕业两年了——第一个工作后的十一</title>
        <author>yanshiyi</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yanshiyi.javaeye.com">yanshiyi</a>&nbsp;
          链接：<a href="http://yanshiyi.javaeye.com/blog/206940" style="color:red;">http://yanshiyi.javaeye.com/blog/206940</a>&nbsp;
          发表时间: 2008年06月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 那个项目在九月份末前就结束了，伴随着项目的结束，十一长假来了。好久没有见到我喜欢的女孩小马，我决定去无锡看看她。而我的高中同学决定十一回家看望父母，我实在不想回去，就让他买了两瓶蜂蜜带回家，一瓶给父母，一瓶给爷爷。两瓶蜂蜜花了100元，让我有些心疼，但这心疼在三天后就消失了。</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 十一的第一天白天没有去无锡，因为没有买到票，所以在饿了一整天后我在晚上动身去了无锡，并且很顺利地与小马碰面，到了她家的第一件事就是找东西吃，因为我已经24小时未进食了。一边吃面条一边跟小马还有其他的几个同学聊天，完全没意识到一个男生跟一群女生深更半夜在一起有些不合适（我好像总干这事）。吃晚饭，小马便开始撵我走了，当然不是让我回上海去，而是赶到同一小区的男生宿舍里，那里有我大学时的一个还算要好的同学，也有关系一般的同班同学。很久没见，大家似乎并没有什么特别多的话，或许是因为11点了吧！但是我睡不着，因为我白天已经饿的睡了一下午的觉了，还好我又出门带书的习惯，拿出书就开始看，效果很好，半个钟头后我又睡着了，睡觉前我没忘记关灯。</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 十一的无锡夜里是比较冷的，那几个不好客的同学给我的就是一条被单，所以我半夜醒来了好几次，最后一次醒来已经是6点了，我也无心睡觉了，继续看书，直到7点那些人才起来，因为今天有活动。</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 洗完脸我跟他们就出发了，等到了集合地点，半年未曾见到的同学一个个冒了出来，不管是不是熟悉的，都热情的跟我打招呼，让我的虚荣心小小的满足了一把，只是我喜欢的那个女孩从来没有关注过我一下。</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 游玩的事对我这个注重人而不注重物的人并不太重要，重要的是小马总是躲着我，而且也有她似乎跟其他男生更合得来，让我的心情压抑的很。所以在来无锡的第二天我就走了，没有跟任何人告别，只有一个大四时才认识的同学送我走的。</p>
          <br/>
          <span style="color:red;">
            <a href="http://yanshiyi.javaeye.com/blog/206940#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 22 Jun 2008 23:23:19 +0800</pubDate>
        <link>http://yanshiyi.javaeye.com/blog/206940</link>
        <guid>http://yanshiyi.javaeye.com/blog/206940</guid>
      </item>
      <item>
        <title>毕业两年了——转正</title>
        <author>yanshiyi</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yanshiyi.javaeye.com">yanshiyi</a>&nbsp;
          链接：<a href="http://yanshiyi.javaeye.com/blog/206930" style="color:red;">http://yanshiyi.javaeye.com/blog/206930</a>&nbsp;
          发表时间: 2008年06月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;&nbsp;&nbsp;&nbsp; 虽然在工作前我没怎么用过struts，但是因为基础知识比较扎实，所以我工作还是比较顺利的，偶尔有几个小问题，那个元老顺手就给我解决了。当时也不知道怎么回事，我开发的速度最快，经理交给我的任务一星期就完事了。所以在8月末发工资的那一天经理就说我转正了，同时交给我将近500元的工资。这就是我第一笔工资，兴奋了一阵之后就把钱放到钱包里，未曾 想过庆祝之类的事。</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 在自己的工作做完之后，经理又从其他人那里抠出了一些比较独立的功能让我去做，但是我依旧很快的做完了，以至于最后经理给我分任务的时候，Dao层与service层的代码还未实现，所以我又很高兴的接受了dao与service层代码实现的任务，因为我觉得这是比较有&ldquo;深度&rdquo; 的任务，之前我们几个都是写jsp与action，service与dao未接触，涉世不深的我以为这是技术性比较强的活儿。而此时另外两个同事还在哼哧哼哧写action与jsp，我以为我真的做的很好，事实上我做的事太简单，因为那两位做的把是excel的数据导入数据库，技术难度比我的大；而且经理好像也是接触java不多，service层的代码其实就是简单包装调用了一下dao，所有的业务逻辑代码还是放在action里，一个做久了的人都会说这样是不好的，而我则是在做外包时才被告知这个问题的，在此之前我依然沿袭着这错误的方式，不知疲倦的将dao包装一下然后交给action调用。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://yanshiyi.javaeye.com/blog/206930#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 22 Jun 2008 22:53:53 +0800</pubDate>
        <link>http://yanshiyi.javaeye.com/blog/206930</link>
        <guid>http://yanshiyi.javaeye.com/blog/206930</guid>
      </item>
      <item>
        <title>毕业两年了——开始上班</title>
        <author>yanshiyi</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yanshiyi.javaeye.com">yanshiyi</a>&nbsp;
          链接：<a href="http://yanshiyi.javaeye.com/blog/206923" style="color:red;">http://yanshiyi.javaeye.com/blog/206923</a>&nbsp;
          发表时间: 2008年06月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 进这家公司的第一工作就是装系统，就是这件简单的事我却做了两天，因为第一天硬盘处问题，折腾了好久才装好，结果第二天系统又崩溃了，无奈，只好重装。装机器的时候做不了什么事的，所以经理就给我一本手册：turbolinux参考中文版。我知道linux，知道红帽红旗，但是这个turbolinux是什么呢？因为不能上网，只好先看了。因为当时经理说以后可能会用到，我看的还是比较仔细的，心想一定要学好这个东西。</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 第三天就是看资料了，公司的一个非经理级元老叫我们（跟我同一天报到的同事）查了一下maven的资料，结果我这个搜啊查啊!从英语到汉语都看了，也没搞明白它到底是干什么，后来直接按中文的简易教程做了。第四天，经理给我们安排事了，事不难，就是编程，现在的我两天，哦不，一天就能搞定。但是，那时的我非常非常的菜，因为我把精力放在了swing上，web是后来补上的，好在struts我看了好几遍了，心惊胆战的接过任务，按照自己的理解开始编程。</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 时间快两年了，已忘了当时怎么度过这一个星期了，依稀记得有孤独感，也有搞笑的时候，有不舍，有不安。每次下班我都是除经理外最后一个走的，为了省两块钱的路费，我从芙蓉江路一直走到天山路与延安西路的交界处，然后在哪里搭车回去；刚开始的几天我总是搞错方向，不是找不到站台就是坐过了站；等坐在车上，莫名的就想起了大学，想起了115，实在不愿意想了就看那本手册或者《韩非子》。因为工资太低了，每天还要跑很远的路，我最后决定搬到公司提供的宿舍，每个月只有200的房租，虽然依然难以承受，但是每天可以步行来公司，省了笔路费。公司宿舍很&ldquo;差&rdquo;，比起当时我住的地方，真有些天壤之别，所以说有些不舍。搬到宿舍后，我发现普通员工的宿舍已经满了，所以 我很荣幸地跟经理们睡到了一起，这就是我不安的地方。</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不知道是不是老天在我上大学折腾够我了，肯放我一马了。正当我因为跟经理在一起住觉得不安时，睡在我下铺的经理搬走了，在我搬来的第二天就自己出去住了，而另一个经理一周才可能回来睡一次，所以四个人睡的一间大屋子实际上只有我一个人用。只是我当时没意识到这个好处，等如今一个人住不到8平米的窝棚时，我做梦都想回到那间大屋子去。</p>
          <br/>
          <span style="color:red;">
            <a href="http://yanshiyi.javaeye.com/blog/206923#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 22 Jun 2008 22:28:19 +0800</pubDate>
        <link>http://yanshiyi.javaeye.com/blog/206923</link>
        <guid>http://yanshiyi.javaeye.com/blog/206923</guid>
      </item>
      <item>
        <title>毕业两年了——从面试到接受offer</title>
        <author>yanshiyi</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yanshiyi.javaeye.com">yanshiyi</a>&nbsp;
          链接：<a href="http://yanshiyi.javaeye.com/blog/206919" style="color:red;">http://yanshiyi.javaeye.com/blog/206919</a>&nbsp;
          发表时间: 2008年06月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 再过一周就是毕业的2周年了，虽然很想回忆一下毕业时的情景，品尝一下毕业时的情感，但是我做不到。能记得的就是毕业时下定决心重整旗鼓，作出一番事业。但是现实总是跟愿望是有距离的，06年毕业后的现实就是，在面试了几家公司之后我终于被一家小公司接受了，工资只有1200，但好在公司提供了便宜的宿舍。</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当初去这家公司面试时时让我费了不少劲。初次来上海的人找工作时都会迷路的，我就是这样，每次面试都要走几个钟头的冤枉路，而且是在8月份的上海。当时这家公司通知我时我正在徐家汇的昂立书店看书，接到电话一阵欣喜，以为有offer了，没想到又是一个面试电话，听完地址，婉拒了他指路的好意，自作聪明的在地图上查了半天，最后坐地铁到了延安西路，为了省2块钱的公交费，我决定走到面试公司。可怜我当时小看了上海马路的长度，在花了1个半小时的时间后，我终于大致走到了公司的所在区域，但是依然看不到公司（当时我以为公司都该有个牌子）。在那个区域转悠了半个钟头眼看时间就要过了我还是找不到，心急之下先给他们打了个电话，请他们等我一下，同时又问了一下具体怎么走。最后折腾了半天，终于找到了。不过我也失望了，当时以为公司在白猫软件园区里，没想到在白猫旁边的民宅里，而且里弄号是用粉笔写在一堵破败的老墙上面，我只顾着看门牌号，没注意那堵墙。</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 走进那个公司，不由得有些失望，前几次面试的公司都是很像模像样的，但是这家公司，让人觉得不像一家公司，外面的屋子没有人，里面好像也是没有人，出来面试我的人长的黑不溜秋的，给我一份卷纸就让我做，同时又给我倒了杯水（我当时渴的实在受不了了）。我一看卷纸，挺标准的，都是网上搜来的，拿起笔就奋笔疾书，只是我的字太丑了，写的卷纸乱七八糟的。答卷用了不到十分钟，我把卷纸交给了面试官，面试官说了一声这么快就让我回去等消息了。</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在这家公司之后还有一家公司，去这家公司同样走了不少冤枉路，而且面试的曲折更多，我也比较相中这家公司。但是最后还是没有去，因为在这家公司勉为其难的给我发offer前我答应了第一家公司，那家公司已经等了我一周了。</p>
          <br/>
          <span style="color:red;">
            <a href="http://yanshiyi.javaeye.com/blog/206919#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 22 Jun 2008 21:52:40 +0800</pubDate>
        <link>http://yanshiyi.javaeye.com/blog/206919</link>
        <guid>http://yanshiyi.javaeye.com/blog/206919</guid>
      </item>
      <item>
        <title>没有积累</title>
        <author>yanshiyi</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yanshiyi.javaeye.com">yanshiyi</a>&nbsp;
          链接：<a href="http://yanshiyi.javaeye.com/blog/206503" style="color:red;">http://yanshiyi.javaeye.com/blog/206503</a>&nbsp;
          发表时间: 2008年06月20日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>因为没有积累，所以效率低下</p>
          <br/>
          <span style="color:red;">
            <a href="http://yanshiyi.javaeye.com/blog/206503#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 20 Jun 2008 22:41:38 +0800</pubDate>
        <link>http://yanshiyi.javaeye.com/blog/206503</link>
        <guid>http://yanshiyi.javaeye.com/blog/206503</guid>
      </item>
      <item>
        <title>关于立志</title>
        <author>yanshiyi</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yanshiyi.javaeye.com">yanshiyi</a>&nbsp;
          链接：<a href="http://yanshiyi.javaeye.com/blog/206502" style="color:red;">http://yanshiyi.javaeye.com/blog/206502</a>&nbsp;
          发表时间: 2008年06月20日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>有志者立常志，无志者常立志。</p>
          <br/>
          <span style="color:red;">
            <a href="http://yanshiyi.javaeye.com/blog/206502#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 20 Jun 2008 22:41:05 +0800</pubDate>
        <link>http://yanshiyi.javaeye.com/blog/206502</link>
        <guid>http://yanshiyi.javaeye.com/blog/206502</guid>
      </item>
      <item>
        <title>5月第一个星期</title>
        <author>yanshiyi</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yanshiyi.javaeye.com">yanshiyi</a>&nbsp;
          链接：<a href="http://yanshiyi.javaeye.com/blog/192049" style="color:red;">http://yanshiyi.javaeye.com/blog/192049</a>&nbsp;
          发表时间: 2008年05月11日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>计划仍旧没有如希望的那样完成。</p>
<p>1.javascript的笔记没有写；</p>
<p>2.其次周六没有去公司加班，更不用说分析优化代码了；</p>
<p>3.周六的晚上又熬夜了，而且还熬到了3点半，早上起床后没吃早餐；</p>
<p>4.没有做到每晚半小时锻炼，也没有半小时思考，更不用提WLASPLAD。</p>
<p>&nbsp;</p>
<p>下个星期的计划是：</p>
<p>1.读完javascript defintive guide的7，8，9，10章，同时每章都要写笔记。</p>
<p>2.每天俯卧撑的次数一次做到50个；</p>
<p>3.考虑自己当前遇到的问题；</p>
          <br/>
          <span style="color:red;">
            <a href="http://yanshiyi.javaeye.com/blog/192049#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 11 May 2008 23:42:33 +0800</pubDate>
        <link>http://yanshiyi.javaeye.com/blog/192049</link>
        <guid>http://yanshiyi.javaeye.com/blog/192049</guid>
      </item>
      <item>
        <title>4月评</title>
        <author>yanshiyi</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yanshiyi.javaeye.com">yanshiyi</a>&nbsp;
          链接：<a href="http://yanshiyi.javaeye.com/blog/189113" style="color:red;">http://yanshiyi.javaeye.com/blog/189113</a>&nbsp;
          发表时间: 2008年05月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><span style="color: #ff6600;">任务安排上，javascript与html虽然看了，但是没有掌握的很熟悉，ant，spring，tomcat还未开始，现在是5月份，还有一个月的时间学习其他三样。但是因为情况发生改变，所以目标重心暂时转移到ajax开发，所学内容有mootools，css，目标是5月份掌握mootools 与css。<br />
<br />
现在俯卧撑可以一口气做到40个，不过这个情况维持了一个月了，下一步该做到55个，希望这个月可以实现。<br />
<br />
依然很浮躁，很容易冲动，还不会忍耐，仍旧在浪费精力，生活方式很不健康；<br />
没有分析用到的组件的源代码，没有优化写过的代码，没有学到更多的东西，没有积累下知识；<br />
watch，listen，analyze, systhesize，plan,learn and do。这几点没有很好的贯彻。</span>

<br />
<br />
<br />
<span style="color: #99cc00;">
5月份期望：<br />
<br />
1.掌握mootools，最好看懂其源代码；<br />
2.掌握css，能利用css写出漂亮的div；<br />
3.俯卧撑做到55个，一口气；<br />
4.更冷静一些，leader叫做什么就做什么，不得顶嘴，不考虑难度，任劳任怨；<br />
5.保持精力，养成良好的生活习惯；<br />
6.每周六去公司加班，给老板一个好印象，加班的时候分析这一周写的代码，将其优化，找出其bug；<br />
7.周末将这一周学到的东西做好笔记，写到博客上。</span>
</p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://yanshiyi.javaeye.com/blog/189113#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 03 May 2008 22:11:34 +0800</pubDate>
        <link>http://yanshiyi.javaeye.com/blog/189113</link>
        <guid>http://yanshiyi.javaeye.com/blog/189113</guid>
      </item>
      <item>
        <title>屏幕宽度</title>
        <author>yanshiyi</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yanshiyi.javaeye.com">yanshiyi</a>&nbsp;
          链接：<a href="http://yanshiyi.javaeye.com/blog/188234" style="color:red;">http://yanshiyi.javaeye.com/blog/188234</a>&nbsp;
          发表时间: 2008年04月29日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          网页可见区域宽： document.body.clientWidth<br />网页可见区域宽： document.body.offsetWidth (包括边线的宽)<br />网页正文全文宽： document.body.scrollWidth<br />网页被卷去的高： document.body.scrollTop<br />网页被卷去的左： document.body.scrollLeft<br />网页正文部分上： window.screenTop<br />网页正文部分左： window.screenLeft<br />屏幕分辨率的宽： window.screen.width<br />屏幕可用工作区宽度： window.screen.availWidth
          <br/>
          <span style="color:red;">
            <a href="http://yanshiyi.javaeye.com/blog/188234#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 29 Apr 2008 23:33:05 +0800</pubDate>
        <link>http://yanshiyi.javaeye.com/blog/188234</link>
        <guid>http://yanshiyi.javaeye.com/blog/188234</guid>
      </item>
      <item>
        <title>程序员四大忌，你做到了吗？</title>
        <author>yanshiyi</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yanshiyi.javaeye.com">yanshiyi</a>&nbsp;
          链接：<a href="http://yanshiyi.javaeye.com/blog/164949" style="color:red;">http://yanshiyi.javaeye.com/blog/164949</a>&nbsp;
          发表时间: 2008年02月26日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          看到一篇来自JavaResearch的文章 ，说的好!!<br /><br /><br />一忌：轻易言败，没有自信<br /><br />没有永不放弃精神的程序员，只是一个有程序员名号的假程序员。一个真正的程序员，知道在程序设计的过程中，可能会遇到不计其数的困难和问题，可能有极多的挫折和失败，而成功只有一次。<br /><br />就为解决一个问题，我们可能连续十几甚至几十小时的坐在计算器前不停的工作。一个问题解决了，可能又有其它的问题出现。而你要是不能坚持下来，可能从前的一切努力都流失了。轻易言败的人请不要做程序员，你不可能成功。执着是最可贵的。<br /><br />执着的程序员都是相信自己的人，每时每刻都会鼓励自己，你做的出来，你能解决，你会成功。这样他才能坚持下去。<br /><br />二忌：浮华不实，自满自大<br /><br />夸夸奇谈的人不是优秀的程序员。整个程序设计的过程就是一个研究学习，应用，再研究学习，再应用的过程。一名优秀的程序员决不会认为自己足够好了，不需要再提高了。自满自足的人不会是好程序员，会很快落后以致落伍。所以越是优秀的程序员越是感觉自己懂得少，不会在人前故意卖弄，这并不是故作谦虚，而是实实在在的感受，亲自体会才能明白。<br /><br />浮华的程序员会不懂装懂，不停的强调语言的优劣，平台的好坏。追求所谓最新最时尚的技术，停留在表面问题上。或假做深沉，用不适合的方式做不适合的事情。就像孔已己一样，以为知道"茴"字有四种写法就是学问。最后是简单的作不好，困难的也作不好。<br /><br />三忌：死气沉沉，不求甚解<br /><br />优秀的程序员是充满激情和活力的程序员。求知欲和创造欲是原动力。有求知欲你才能不停的学习，有创造欲你才能不停的超越自己。死气沉沉的程序员已经对程序设计失去了兴趣，很快就会主动或被迫离开。<br /><br />创造不是指你要发明什么别人不知道的技术或方法，而是说不能仅仅知道怎么做，还要知道为什么这样做。之后你才能创造，其实程序设计的整个过程就是创造的过程。<br /><br />四忌：强调客观，忽略自身<br /><br />很多程序员都是在失败的时候强调客观因素，而优秀的程序员的程序员都是先反省自己。要明白自己缺陷，再努力去学习。没有人事事都做的成功，也没有人生来就什么会做。所以失败了，多想想自身的原因，这样你才会不停的进步，而不是留在原地抱怨。<br /><br />（转自 <a href="http://news.csdn.net/n/20080220/113706.html" target="_blank">http://news.csdn.net/n/20080220/113706.html</a>）
          <br/>
          <span style="color:red;">
            <a href="http://yanshiyi.javaeye.com/blog/164949#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 26 Feb 2008 02:32:43 +0800</pubDate>
        <link>http://yanshiyi.javaeye.com/blog/164949</link>
        <guid>http://yanshiyi.javaeye.com/blog/164949</guid>
      </item>
      <item>
        <title>今年目标</title>
        <author>yanshiyi</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yanshiyi.javaeye.com">yanshiyi</a>&nbsp;
          链接：<a href="http://yanshiyi.javaeye.com/blog/164524" style="color:red;">http://yanshiyi.javaeye.com/blog/164524</a>&nbsp;
          发表时间: 2008年02月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>任务：<br />
<span style="color: #ff6600;"><br />
</span>
<span style="font-weight: bold; color: #ff6600;">学习开发模式，做到熟悉各个模式的特点；<br />
掌握mysql,知道其特点；<br />
掌握javascript及ajax开发；<br />
学习xml，oracle，pl/sql；<br />
掌握tomcat，学会管理；</span>
<br />
<span style="color: #ff9900;">学习java线程开发；<br />
学习java正则表达式；<br />
学习Ant脚本；<br />
</span>
<span style="color: #ff9900;">学会Eclipse插件开发，完善文件管理系统插件；</span>
<span style="color: #ff9900;"><br />
</span>
<span style="color: #ff9900;">背单词；</span>
<span style="color: #ff9900;"><br />
</span>
<span style="color: #ff9900;">俯卧撑一次可以做到100。</span>
<br />
<span style="color: #ffcc99;">学会使用python，最起码可以解决一些小问题，制作一些有用的小工具；<br />
学习linux，掌握shell编程；<br />
# 学会使用vim （暂时放弃）；</span>
<br />
<br />
*****************************************************************************<br />
<br />
注意事项：<br />
<br />
<span style="font-weight: bold; color: #808000;">改掉浮躁的毛病，学会忍耐，专心静心认真学习，不浪费精力，这是最重要的；</span>
<span style="color: #808000;">
<br />
</span>
<span style="font-weight: bold; color: #808000;">不要关注对自己没用的事情，不要太关注新技术，不要没事就是尝试新技术；<br />
时间比钱重要，能买到合适的资料学习就不要找文档，能用中文就不要用英语；<br />
注意知识的积累，不做重复工作，要做学习笔记；</span>
</p>
<p><span style="color: #99cc00;"><strong><span>每月都要对自己做些评价；</span>
</strong>
</span>
<span style="font-weight: bold; color: #99cc00;"><br />
watch，listen，analyze,</span>
<span style="color: #99cc00;">
</span>
<span style="font-weight: bold; color: #99cc00; font-size: x-small;"><span style="font-family: Trebuchet MS;">systhesize，plan,learn and do。</span>
</span>
<span style="color: #99cc00;"><br />
</span>
<span style="color: #99cc00;">改掉贫嘴的毛病，说话要有深度，一针见血；<br />
</span>
<span style="color: #0000cc;"><span style="color: #99cc00;">对做过的每一个项目都要分析一下，学习优化，总结项目经验(英汉都要有），同时更新简历；<br />
尽可能分析开源项目的源代码；<br />
时刻关注职场；</span>
<br />
</span>
<span style="color: #ffff00;">
学会学习，而不是无目的地学习；<br />
必须有成果，可以十个有九个没学会，但是必须学好一个；<br />
忘掉感情的事，一心做事业；<br />
睡觉前要吃些东西。</span>
</p>
          <br/>
          <span style="color:red;">
            <a href="http://yanshiyi.javaeye.com/blog/164524#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 24 Feb 2008 00:04:49 +0800</pubDate>
        <link>http://yanshiyi.javaeye.com/blog/164524</link>
        <guid>http://yanshiyi.javaeye.com/blog/164524</guid>
      </item>
      <item>
        <title>MySQL: MyISAM和InnoDB的区别</title>
        <author>yanshiyi</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yanshiyi.javaeye.com">yanshiyi</a>&nbsp;
          链接：<a href="http://yanshiyi.javaeye.com/blog/162669" style="color:red;">http://yanshiyi.javaeye.com/blog/162669</a>&nbsp;
          发表时间: 2008年02月16日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          nnoDB和MyISAM是在使用MySQL最常用的两个表类型，各有优缺点，视具体应用而定。基本的差别为：MyISAM类型不支持事务处理等高级处理，而InnoDB类型支持。MyISAM类型的表强调的是性能，其执行数度比InnoDB类型更快，但是不提供事务支持，而InnoDB提供事务支持已经外部键等高级数据库功能。<br /><br />MyIASM是IASM表的新版本，有如下扩展：  <br />二进制层次的可移植性。  <br />NULL列索引。  <br />对变长行比ISAM表有更少的碎片。  <br />支持大文件。  <br />更好的索引压缩。  <br />更好的键吗统计分布。  <br />更好和更快的auto_increment处理。  <br /><br />以下是一些细节和具体实现的差别：<br /><br />1.InnoDB不支持FULLTEXT类型的索引。<br />2.InnoDB 中不保存表的具体行数，也就是说，执行select count(*) from table时，InnoDB要扫描一遍整个表来计算有多少行，但是MyISAM只要简单的读出保存好的行数即可。注意的是，当count(*)语句包含 where条件时，两种表的操作是一样的。<br />3.对于AUTO_INCREMENT类型的字段，InnoDB中必须包含只有该字段的索引，但是在MyISAM表中，可以和其他字段一起建立联合索引。<br />4.DELETE FROM table时，InnoDB不会重新建立表，而是一行一行的删除。<br />5.LOAD TABLE FROM MASTER操作对InnoDB是不起作用的，解决方法是首先把InnoDB表改成MyISAM表，导入数据后再改成InnoDB表，但是对于使用的额外的InnoDB特性（例如外键）的表不适用。<br /><br />另外，InnoDB表的行锁也不是绝对的，如果在执行一个SQL语句时MySQL不能确定要扫描的范围，InnoDB表同样会锁全表，例如update table set num=1 where name like “%aaa%”<br /><br />任何一种表都不是万能的，只用恰当的针对业务类型来选择合适的表类型，才能最大的发挥MySQL的性能优势.<br /><br /><a href="http://www.phpchina.com/1628/viewspace_18382.html" target="_blank">http://www.phpchina.com/1628/viewspace_18382.html</a>
          <br/>
          <span style="color:red;">
            <a href="http://yanshiyi.javaeye.com/blog/162669#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 16 Feb 2008 18:56:56 +0800</pubDate>
        <link>http://yanshiyi.javaeye.com/blog/162669</link>
        <guid>http://yanshiyi.javaeye.com/blog/162669</guid>
      </item>
      <item>
        <title>标准IO</title>
        <author>yanshiyi</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yanshiyi.javaeye.com">yanshiyi</a>&nbsp;
          链接：<a href="http://yanshiyi.javaeye.com/blog/148516" style="color:red;">http://yanshiyi.javaeye.com/blog/148516</a>&nbsp;
          发表时间: 2007年12月15日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          1. 按照标准I/O模型，Java提供了System.in,System.out和System.err,其中System.out跟System.err事先被包装成PrintStrem对象，但System.in是未经包装过的InputStream。这意味着我们可以立即使用System.out与System.err，但在使用System.in之前必须对其进行包装。<br />    <br />    通常我们会使用readLine()一行一行地读取输入，因此我们会将System.in包装成BufferedReader试用。为此我们必须用InputStreamReader将System.in转换成Reader：<br /><br />    <pre name="code" class="java">BufferedReader in = new BufferedReader(new InputStreamReader(System.in));</pre><br /><br />2. System.out是一个PrintStream,而PrintStream是一个OutputStream。PrintWriter有一个可以接受OutputStream做参数的构造器。因此，只要需要，就可以把System.out变成一个PrintWriter：<br /><pre name="code" class="java">PrintWriter out = new PrintWriter(System.out,true);</pre><br /><br />3. Java提供了一些简单的静态方法调用，以允许我们对标准输入，标准输出和错误IO流进行重定向：<br /><pre name="code" class="java">    setIn(InputStream)
    setOutPrintStream)
    setErr(PrintStream)</pre>
          <br/>
          <span style="color:red;">
            <a href="http://yanshiyi.javaeye.com/blog/148516#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 15 Dec 2007 10:43:08 +0800</pubDate>
        <link>http://yanshiyi.javaeye.com/blog/148516</link>
        <guid>http://yanshiyi.javaeye.com/blog/148516</guid>
      </item>
      <item>
        <title>列出目录下的文件</title>
        <author>yanshiyi</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yanshiyi.javaeye.com">yanshiyi</a>&nbsp;
          链接：<a href="http://yanshiyi.javaeye.com/blog/145767" style="color:red;">http://yanshiyi.javaeye.com/blog/145767</a>&nbsp;
          发表时间: 2007年12月04日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 如果想要查看一个目录列表，可以用两种方法列出File对象。如果我们调用不带参数的list方法，便可以获得此File对象包含的全部列表。然而，如果 我们想要获得一个受限列表，例如，想得到所有扩展名.java的文件，那么我们就需要用到&ldquo;目录过滤器&rdquo;，这个类会告诉我们怎样显示符合条件的File对 象。如下代码：<br />
<br />
import java.io.*;<br />
import java.util.*;<br />
import java.util.regex.*;<br />
<br />
public class DirList {<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; public static void main(String[] args){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; File path = new File(&quot;.&quot;);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; String[] list;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if(args.length == 0){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; list = path.list();<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } else {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; list = path.list(new DirFilter(args[0]));<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //Arrays.sort(list,new AlphabeticComparator());<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; for(int i = 0; i &lt; list.length; i++){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; System.out.println(list[i]);<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
}<br />
<br />
class DirFilter implements FilenameFilter {<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; private Pattern pattern;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; public DirFilter(String regex) {<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; pattern = Pattern.compile(regex);<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; public boolean accept(File dir,String name){<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return pattern.matcher(new File(name).getName()).matches();<br />
&nbsp;&nbsp;&nbsp; }<br />
}<br />
在这段代码里，DirFilter类实现了FilenameFilter接口。FilenameFilter接口如下所述：<br />
public interface FilenameFilter {<br />
&nbsp;&nbsp;&nbsp; boolean accept(File dir,String name);<br />
}<br />
&nbsp;这表示这种类型的对象一定要提供一个accept()方法。创建这个类的目的在于把accept( ) 方法提供给list使用，使list()可以回调accept()，进而可以决定哪些文件包含在列表中。
          <br/>
          <span style="color:red;">
            <a href="http://yanshiyi.javaeye.com/blog/145767#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 04 Dec 2007 10:15:23 +0800</pubDate>
        <link>http://yanshiyi.javaeye.com/blog/145767</link>
        <guid>http://yanshiyi.javaeye.com/blog/145767</guid>
      </item>
      <item>
        <title>java异常未掌握知识点</title>
        <author>yanshiyi</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yanshiyi.javaeye.com">yanshiyi</a>&nbsp;
          链接：<a href="http://yanshiyi.javaeye.com/blog/144764" style="color:red;">http://yanshiyi.javaeye.com/blog/144764</a>&nbsp;
          发表时间: 2007年11月29日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          1.Throwable fillInStackTrace()：<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 用于在Throwable对象的内部记录栈帧的当前状态。这在程序重新抛出错误或异常时很有用。如果只是把当前对象重新抛出，那么printStackTrace()方法显示的将是原来异常抛出点的调用栈信息，而非重新抛出点的信息。要想更新这个信息，可以调用fillInStackTrace()方法，这将返回一个Throwable对象，它是通过把当前调用栈信息填入原来那个异常对象而建立的。<br />
<br />
2.Java标准异常：<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Throwable这个Java类被用来表示任何可以做为异常被抛出的类。Throwable对象可以分为两种类型（Throwable的子类）：Error用来表示编译时和系统错误(一般不用关心）；Excetion是可以被抛出的基本类型，在Java类库、用户方法以及运行时故障中都可能抛出Exception型异常。所以Java程序员关心的基本类型通常是Exception。<br />
<br />
3.属于运行时异常的类很多，它们会自动被Java虚拟机抛出，所以不必在异常说明中把它们列出来。<br />
<br />
4.异常链：<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 有时需要在捕获一个异常后抛出另一个异常，并且希望把原始异常的信息保存下来，这被成为&ldquo;异常链&rdquo;。Throwable的子类在构造器中可以接受一个cause对象做为参数。这个cause就用来表示原始异常，这样把原始异常传递给新的异常，使得即使在当前位置创建并抛出新的异常，也能通过这个异常链追踪到最初发生的位置。在Throwable的子类中，只有基本的异常类提供了带cause参数的构造器，即：error，Exception与RuntimeException。如果要把其他类似的异常链接起来，应该使用initCause()方法而不是构造器。
          <br/>
          <span style="color:red;">
            <a href="http://yanshiyi.javaeye.com/blog/144764#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 29 Nov 2007 10:41:53 +0800</pubDate>
        <link>http://yanshiyi.javaeye.com/blog/144764</link>
        <guid>http://yanshiyi.javaeye.com/blog/144764</guid>
      </item>
      <item>
        <title>硬盘与硬件管理</title>
        <author>yanshiyi</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yanshiyi.javaeye.com">yanshiyi</a>&nbsp;
          链接：<a href="http://yanshiyi.javaeye.com/blog/101515" style="color:red;">http://yanshiyi.javaeye.com/blog/101515</a>&nbsp;
          发表时间: 2007年07月16日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          查看硬盘或目录的容量<br />
<br />
df：查看硬盘总容量、已用容量与inode等<br />
语法：<br />
df&nbsp;&nbsp;  -[ikm]<br />
参数说明：<br />
-i：使用i-nodes显示结果<br />
-k：使用Kbytes显示结果<br />
-m：使用Mbytes显示结果<br />
<br />
<br />
du：查看文件已用容量<br />
语法：<br />
du&nbsp;&nbsp;  [-abckms]&nbsp;&nbsp;  [目录名称]<br />
参数说明：<br />
目录名称：可以省略，省略时表示要统计当前所在目录的文件容量<br />
-a：列出所有的文件与目录，默认值是列出目录的值<br />
-b：列出的值以bytes输出<br />
-c：最后求总total<br />
-k：列出的值以KB输出<br />
-m：列出的值以MB输出<br />
-s：只列出最后求总的值
          <br/>
          <span style="color:red;">
            <a href="http://yanshiyi.javaeye.com/blog/101515#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 16 Jul 2007 11:06:46 +0800</pubDate>
        <link>http://yanshiyi.javaeye.com/blog/101515</link>
        <guid>http://yanshiyi.javaeye.com/blog/101515</guid>
      </item>
      <item>
        <title>通配符与特殊符号</title>
        <author>yanshiyi</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yanshiyi.javaeye.com">yanshiyi</a>&nbsp;
          链接：<a href="http://yanshiyi.javaeye.com/blog/101488" style="color:red;">http://yanshiyi.javaeye.com/blog/101488</a>&nbsp;
          发表时间: 2007年07月16日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          *：通配符，代表任意字符（0到多个）<br />
？：通配符，代表一个字符<br />
#：注释，这个最常用在脚本中，视为说明<br />
\：跳转符号，将特殊字符或通配符还原成一般字符<br />
|：分隔两个管线命令的界定<br />
；：连续性命令的界定（注意，与管线命令不同）<br />
~：用户的根目录<br />
$：即变量前需要要加的变量值<br />
&amp;：将指令变成在背景下工作<br />
!：逻辑运算中的&quot;非&quot;(not)<br />
/：路径分隔符号<br />
&gt;,&gt;&gt;：输出导向，分别为&ldquo;取代&rdquo;与&ldquo;累加&rdquo;<br />
'：单引号，不具有变量置换功能<br />
&quot;：具有变量置换功能<br />
`：两个&ldquo; ` &rdquo;中间为可以先执行的指令<br />
()：中间为子shell的起始与结束<br />
[ ]：中间为字符组合<br />
{ }：中间为命令区组合<br />
Ctrl+C &nbsp; ：终止当前命令<br />
Ctrl+D：输入结束（EOF），例如邮件结束的时候<br />
Ctrl+M：就是Enter<br />
Ctrl+S：暂停屏幕的输出<br />
Ctrl+Q：恢复屏幕的输出<br />
Ctrl+U：在提示符下，将整行命令删除<br />
Ctrl+Z：暂停当前命令<br />
<br />
<div id="dictdiv" style="margin: 5px; background: yellow none repeat scroll 0% 50%; position: absolute; left: 0pt; top: 0pt; z-index: 1000; font-family: arial; font-size: 13px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; -moz-border-radius-topleft: 5px; -moz-border-radius-topright: 5px; -moz-border-radius-bottomright: 5px; -moz-border-radius-bottomleft: 5px; opacity: 0.9; display: none;">&nbsp;</div>
<div id="dictaudio">&nbsp;这些通配符中，最常用的是*,?,[]和 `,看示例：<br />
ls&nbsp;&nbsp;  test*&nbsp;&nbsp;  // *代表后面不论有几个字符都予以接受（没有字符也接受）<br />
ls &nbsp;&nbsp;  test?&nbsp;&nbsp;  // ?代表一定要接一个字符<br />
cp&nbsp;&nbsp;  test[1-5]&nbsp;&nbsp;  /tmp&nbsp;&nbsp; // test1,test2,test3,test4,test5若存在，就将其复制到/tmp下<br />
cd&nbsp;&nbsp;  /lib/modules/`uname -r'/kernel/drivers&nbsp;&nbsp;  // 被``括起来的内容会先执行<br />
<br />
连续输入指令的方式：<br />
两个指令先后写在一起，可以这样写：<br />
command1;command2<br />
&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;  <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  两个指令间用分好&ldquo;；&rdquo;分隔，这个分号的意思，不论command1执行结果为何，command2都会被执行。那么如果是两个相关的指令，第一个command的执行结果如果有错误，第二个就不被执行，使用下面的格式即可：<br />
command1 &amp;&amp; command2&nbsp;&nbsp;  // 当command1执行成功的时候command2执行<br />
command1 || command2&nbsp;&nbsp;    // 当command1执行失败的时候command2执行<br />
<br />
<br />
</div>
          <br/>
          <span style="color:red;">
            <a href="http://yanshiyi.javaeye.com/blog/101488#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 16 Jul 2007 09:50:32 +0800</pubDate>
        <link>http://yanshiyi.javaeye.com/blog/101488</link>
        <guid>http://yanshiyi.javaeye.com/blog/101488</guid>
      </item>
      <item>
        <title>系统的crontab设定：/etc/crontab</title>
        <author>yanshiyi</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yanshiyi.javaeye.com">yanshiyi</a>&nbsp;
          链接：<a href="http://yanshiyi.javaeye.com/blog/98096" style="color:red;">http://yanshiyi.javaeye.com/blog/98096</a>&nbsp;
          发表时间: 2007年07月05日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <font size="3"><font face="Arial">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  crontab&nbsp;&nbsp;  -e&nbsp;&nbsp;  是针对用户的cron来设计的，如果是系统的例行性任务，该怎么办？是否还是需要以crontab -e来管理例行性命令？当然不需要，您只需要编辑/etc/crontab文件就可以了。需要注意的是：crontab -e的作用其实是/usr/bin/crontab这个执行文件，但是/etc/crontab是个纯文本文件，可以root的身份编辑这个文件。<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp; 基本上，cron服务的最低检测时间单位是分钟，所以cron会每分钟读取一次/etc/crontab与/var/spool/cron中的数据内容，因此，只要您编辑完/etc/crontab文件并且保存之后，crontab时设定就会自动执行。<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  注意：在linux下的crontab会自动帮我们每分钟重新读取一次/etc/crontab的例行工作事项，但是某些原因或在其他的unix系统中，由于crontab是读到内存中，所以在您修改完/etc/crontab之后可能并不会马上执行，这时请重新启动crond服务。<br />
/etc/rc.d/init.d/crond&nbsp;&nbsp;  restart<br />
<br />
好了，下面看看/etc/crontab文件的内容：<br />
vi&nbsp;&nbsp;  /etc/crontab<br />
<br />
SHELL=/bin/bash<br />
PATH=/sbin:/bin:/usr/sbin:/usr/bin<br />
MAILTO=root<br />
HOME=/<br />
<br />
#&nbsp;&nbsp;  run-parts<br />
01 * * * * root&nbsp;&nbsp;  nice&nbsp;&nbsp;  -n&nbsp;&nbsp; 19 &nbsp;&nbsp;&nbsp; run-parts&nbsp;&nbsp;  /etc/cron.hourly<br />
02 4 * * * root&nbsp;&nbsp;  nice&nbsp;&nbsp;  -n&nbsp;&nbsp; 19&nbsp;&nbsp;&nbsp; run-parts&nbsp;&nbsp;  /etc/cron.daily<br />
22 4 * * * root &nbsp;&nbsp;  nice&nbsp;&nbsp;  -n&nbsp;&nbsp;  19&nbsp;&nbsp; run-parts&nbsp;&nbsp;  /etc/cron.weekly<br />
42 4 1 * * root&nbsp;&nbsp; nice&nbsp;&nbsp;  -n &nbsp;&nbsp;  19&nbsp; run-parts&nbsp;&nbsp;  /etc/cron.monthly<br />
<br />
分时日月周&nbsp;&nbsp;  用户&nbsp;&nbsp;  参数设定值&nbsp;&nbsp;  参数设定值&nbsp;&nbsp;  指令段<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 从这个文件的内容可以看出，这个文件与输入crontab -e后的内容几乎完全相同，只是下面几个地方有所区别：<br />
</font></font>
<ul>
    <li><font size="3"><font face="Arial">MAILTO=root：这个字段说明了当/etc/crontab文件中的例行性命令发生错误时，会将错误信息或屏幕显示的信息传递给谁？由于root无法在客户端收信，因此，可以将这个email改成自己普通用户帐号。</font></font></li>
    <li><font size="3"><font face="Arial">&nbsp;</font></font><font size="3"><font face="Arial">01 * * * * root&nbsp;&nbsp;  nice&nbsp;&nbsp;  -n&nbsp;&nbsp; 19 &nbsp;&nbsp;&nbsp; run-parts&nbsp;&nbsp;  /etc/cron.hourly：在#run-parts这一行以后的命令，我们可以发现，5个数字后面接的是root，这代表执行的层级为root身份。当然，您也可以root改成其他身份，而run-parts表示后面接的是/etc/cron.hourly是一个目录内（/etc/cron.hourly)的所有可执行文件，也就是说每个小时的01分，系统会以root的身份到/etc/cron.hourly目录下执行所有可以执行的文件。系统本来就默认了这4个目录，您可以将每天需要执行的命令直接写到/etc/cron.daily中，还不需要用到crontab -e程序，很方便。</font></font></li>
</ul>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; 注意：基本上，/etc/crontab支持两种输入指令的方式，一种是直接以指令形式输入，一种则是以目录形式输入。<br />
<br />
<font size="3">指令形式<br />
<br />
01&nbsp;&nbsp; * * * * test&nbsp;&nbsp;  mail&nbsp;&nbsp;  -s&nbsp;&nbsp;  test&nbsp;&nbsp;  test&nbsp;&nbsp;  &lt;&nbsp;&nbsp;  /home/test/test/test.txt<br />
用户是test，且每小时执行一次指令mail&hellip;&hellip;<br />
<br />
目录形式<br />
<br />
*/5&nbsp;&nbsp;  *&nbsp; *&nbsp; *&nbsp; * root run-parts&nbsp;&nbsp;  /root/runcron<br />
建立一个/root/runcron目录，将每隔5分钟执行一次的可执行文件都写到该目录下，就可以让系统每5分钟执行一次该目录下的所有可执行文件。<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  这样就知道run-parts的作用了吧！此外，与crontab -e规划中不同的是，多了一个用户层级的概念。通常，我们都是以root的角度来规划例行命令的，但是总有不需要root的场合，因此可以使用这个层级来规范该程序的用户所属。</font><font size="3"><font face="Arial"> <br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 如果每个流程都在同一时间启动，那么在某个时段，系统会非常的繁忙，所以这时必须分别设定。可以这样做：<br />
1,6,11,16,21,26,31,36,41,46,51,56 * * * * root &hellip;&hellip;&hellip;&hellip;&nbsp;&nbsp;  // 省略号代表命令<br />
2,7,12,17,22,27,32,37,42,47,52,57 </font></font><font size="3"><font face="Arial">* * * * root &hellip;&hellip;&hellip;&hellip; <br />
3,8,13,18,23,28,33,38,43,48,53,58 </font></font><font size="3"><font face="Arial">* * * * root &hellip;&hellip;&hellip;&hellip; <br />
4,9,14,19,24,29,34,39,44,49,54,59 </font></font><font size="3"><font face="Arial">* * * * root &hellip;&hellip;&hellip;&hellip; <br />
&nbsp;注意，要用&quot;,&quot;分隔时，不要带有空格。如此一来，则可以将每5分钟工作的流程分别安排在不同的时刻进行。<br />
</font></font>
          <br/>
          <span style="color:red;">
            <a href="http://yanshiyi.javaeye.com/blog/98096#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 05 Jul 2007 12:20:00 +0800</pubDate>
        <link>http://yanshiyi.javaeye.com/blog/98096</link>
        <guid>http://yanshiyi.javaeye.com/blog/98096</guid>
      </item>
      <item>
        <title>例行性命令crontab</title>
        <author>yanshiyi</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yanshiyi.javaeye.com">yanshiyi</a>&nbsp;
          链接：<a href="http://yanshiyi.javaeye.com/blog/98050" style="color:red;">http://yanshiyi.javaeye.com/blog/98050</a>&nbsp;
          发表时间: 2007年07月05日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <font size="3"><font face="Arial">循环执行：crontab<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  这个循环的例行性命令就是cron服务（crond）。在您输入crontab指令后，会将您的命令写入/var/spool/cron目录中。例如：如果用户test输入crontab命令，那么就会自动产生/var/spool/cron/test这个文件（这个文件不能直接编辑）。然后执行的指令记录会放置在/var/log/cro文件中，所以，如果您的linux系统不知道是否被木马入侵，可以搜寻一下/var/log/cron这个记录文档，看看有没有被入侵。<br />
<br />
语法：<br />
crontab&nbsp;&nbsp;  [-u&nbsp;&nbsp;  user]&nbsp;&nbsp;  [-l&nbsp;&nbsp;  |&nbsp;&nbsp;  -e &nbsp;&nbsp;  | -r]<br />
参数说明：<br />
-u user：这个指令只能由root输入，查看或编辑其他用户的crontab内容<br />
-l ：列出crontab的内容<br />
-e：编辑crontab的内容<br />
-r：删除crontab的内容<br />
<br />
范例：<br />
一般用户test要在每天的12：00发信给自己：<br />
crontab&nbsp;&nbsp;  -e&nbsp;&nbsp; //&nbsp;&nbsp;  自己编辑自己的crontab内容<br />
<br />
进入crontab编辑内容，使用vi<br />
<br />
0 12 * * * mail test &lt; /home/test/test.txt<br />
分时日月周 |======命令行=======|<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 在这个例子中，输入crontab -e，会出现一个vi画面，然后您在vi画面中输入上面的一行字，然后保存，即可完成编辑。这一行字中，命令前面总共有5个数字，这五个数字分别代表：<br />
分&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; （0~59）<br />
小时&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; （0~23）<br />
日期&nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  （1~31）<br />
月份&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;  （1~12）<br />
周&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  （0~6）// 0 是星期天<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 另外，如果出现*，代表所有数字都适用。上面那一行的意思就是，不论哪月，哪日，星期几的12点，都执行mail test &lt; /home/test/test.txt这个命令。<br />
<br />
范例：<br />
如果您每隔5分钟需要检查您的一个名为test.sh的批处理文件，则<br />
crontab -e<br />
<br />
*/5 * * * *&nbsp;&nbsp;  /home/test/test.sh&nbsp;&nbsp; // 新加入的一个流程，*/5表示每分钟执行一次。<br />
<br />
注意：每个人只有一个crontab文件，就是在/var/spool/cron里文件。此外，指令的路径最好是绝对路径，这样比较容易找到执行的文件。<br />
<br />
要查看crontab的工作流程，实用如下指令：<br />
crontab&nbsp;&nbsp;  -l<br />
<br />
删除指令：<br />
crontab&nbsp;&nbsp;  -r<br />
<br />
这个指令会将整个crontab清空。所以如果只是要删除某个crontab的工作项，那么请使用<br />
crontab -e重新编辑。</font></font>
          <br/>
          <span style="color:red;">
            <a href="http://yanshiyi.javaeye.com/blog/98050#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 05 Jul 2007 10:43:08 +0800</pubDate>
        <link>http://yanshiyi.javaeye.com/blog/98050</link>
        <guid>http://yanshiyi.javaeye.com/blog/98050</guid>
      </item>
      <item>
        <title>例行性命令at</title>
        <author>yanshiyi</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yanshiyi.javaeye.com">yanshiyi</a>&nbsp;
          链接：<a href="http://yanshiyi.javaeye.com/blog/98039" style="color:red;">http://yanshiyi.javaeye.com/blog/98039</a>&nbsp;
          发表时间: 2007年07月05日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <font size="3"><font face="Arial">仅执行一次：at<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  如果某个工作要执行一次，使用at指令。这个指令其实就是atd这个服务，所以一定要启动这个服务。<br />
</font></font><blockquote>
<ol>
    <li>chkconfig --add atd</li>
    <li>chkconfig --list</li>
</ol>
<font size="3"><font face="Arial">上面的指令可以查看atd在run-level的正常情况下，是否在开机时被启动。<br />
<br />
</font></font></blockquote>
<div align="left"><font size="3"><font face="Arial">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 基本上，atd是默认开启的，所以不需要上 面的工作。输入at这个动作会将工作流程写入/var/spool/at目录下，然后等待系统执行它。此外，at指令虽然默认是所有人都能执行，但是可以 通过root限制用户使用。限制的方法是使用 /etc/at.allow(deny)这两个文件进行限制。<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  限制用户原理：当用户执行at时，系统会<br />
</font></font>
<ol>
    <li>先寻找/etc/at.allow文件，存在于这个文件中的用户才能使用at，不在这个文件中的用户则不能使用at（即使没有写在at.deny中）；</li>
    <li>如果没有/etc/at.allow就寻找/etc/at.deny文件中，存在于at.deny的用户不能使用at，而不在at.deny文件中的用户就可以使用at；</li>
    <li>如果两个文件都不在，则只有root可以使用at命令。</li>
</ol>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; <br />
<font size="3">语法：<br />
at&nbsp;&nbsp;  [-m]&nbsp;&nbsp;  TIME&nbsp;&nbsp;  (输入工作指令）<br />
<br />
atq &nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  (查看当前工作流程）<br />
<br />
atrm&nbsp;&nbsp; [jobnumber]&nbsp;&nbsp;  (删除流程）<br />
参数说明：<br />
-m：执行at规范的的工作流程时，将屏幕的输出结果mail给输入指令的用户<br />
TIME：时间格式，有如下几个：<br />
HH:MM YYYY-MM-DD&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  ex&gt; 04：00 2002-05-30 （5月30号4点执行）<br />
HH[pm;am] + number [hours;days;weeks]&nbsp;&nbsp; </font><font size="3">ex&gt; 4pm+3 days (3天后的下午4点）</font><br />
<font size="3">HH:MM&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  ex&nbsp;&nbsp;  &gt; 12:00(今天12点执行）<br />
HH[pm;am]&nbsp;&nbsp;  [month]&nbsp;&nbsp;  [day]<br />
<br />
jobnumber：这即是每个at工作流程都有的编排顺序<br />
<br />
范例：<br />
at&nbsp;&nbsp;  5pm&nbsp;&nbsp;  &nbsp;&nbsp;  // 在今天的5pm执行，如果今天已经过了5点则明天执行<br />
&hellip;&hellip;&hellip;&hellip;<br />
at&gt;&nbsp;&nbsp;  mail&nbsp;&nbsp;  -s&nbsp;&nbsp;  test&nbsp;&nbsp;  test&nbsp;&nbsp;  &lt;&nbsp;&nbsp;  /home/test/.bashrc&nbsp;&nbsp;  // 这就是我的工作<br />
at&gt;&nbsp;&nbsp; &lt;EOT&gt;&nbsp;&nbsp; // 这里按下ctrl+d就可以退出了<br />
job 8 at 2002-05-30 17:00&nbsp;&nbsp;  //&nbsp; 告诉你这个工作的编排号码为8号，执行日期如后面显示<br />
<br />
atq&nbsp;&nbsp; //&nbsp; 查看您但前有多少工作<br />
&hellip;&hellip;&hellip;&hellip;<br />
<br />
atrm 5 &nbsp;&nbsp; // 删除第5号工作</font></div>
<font size="3"><font face="Arial"></font></font>
<div id="dictdiv" style="margin: 5px; background: yellow none repeat scroll 0%; position: absolute; left: 0pt; top: 0pt; z-index: 1000; font-family: arial; font-size: 13px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; -moz-border-radius-topleft: 5px; -moz-border-radius-topright: 5px; -moz-border-radius-bottomright: 5px; -moz-border-radius-bottomleft: 5px; opacity: 0.9; display: none;">&nbsp;</div>
<div id="dictaudio">&nbsp;</div>
          <br/>
          <span style="color:red;">
            <a href="http://yanshiyi.javaeye.com/blog/98039#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 05 Jul 2007 10:17:48 +0800</pubDate>
        <link>http://yanshiyi.javaeye.com/blog/98039</link>
        <guid>http://yanshiyi.javaeye.com/blog/98039</guid>
      </item>
      <item>
        <title>quota实践——实际操作</title>
        <author>yanshiyi</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yanshiyi.javaeye.com">yanshiyi</a>&nbsp;
          链接：<a href="http://yanshiyi.javaeye.com/blog/97230" style="color:red;">http://yanshiyi.javaeye.com/blog/97230</a>&nbsp;
          发表时间: 2007年07月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          执行步骤如下<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  <font size="3"><strong>建立test，test2用户</strong></font><br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &hellip;&hellip;&hellip;&hellip;&hellip;&hellip;<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  <font size="3"><strong>开启磁盘的quota功能</strong></font><br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 由于quota需要ext的linux扩展格式文件才可以启动，所以您必须将准备开启quota的磁盘启动参数写入quota的磁盘设定 (/etc/fstab)。例如：我想在/home下对test，test2这两个人进行quota限制，正巧/home是一个独立的扇区，这可以使用 df查询；另外，必须注意的是，最好不要从根目录(即/）进行配额分配，否则容易出问题。另外，不要针对root做quota。<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 实际操作：<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  df<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  FileSystem&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  1K-blocks&nbsp;&nbsp;  &nbsp;&nbsp;  Used&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; Available&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp; Use%&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp; Mounted&nbsp;&nbsp;  on<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; /dev/hda1&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  1904920&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  1088136&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp; 720020&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  61%&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp; /<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  /dev/hdb1&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  976344&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  71504&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;  854444&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  8%&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  /backup<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;<strong>  /dev/hdb2&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  101540&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  4252&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  92048&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  5%&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  /home</strong><br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp; 在这里home是独立的分区，并且其设备名为/dev/hdb2，所以，必须启动/home这个/dev/hdb2的quota文件格式。那么，由于文件 格式的设定是写在/etc/fstab中，所以我们以vi编辑它，只要在/etc/fstab中增加usrquota和grpquota就可以了。（注： 这两项务必不要写错，请在写入/etc/fstab之前好好地再次检查，因为写错之后，很有可能造成系统无法启动）<br />
&nbsp;&nbsp;&nbsp; &nbsp; 实际操作：<br />
&nbsp;&nbsp;&nbsp; &nbsp; 查看/etc/fstab中关于/home的那一行，该例中数据如下：<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; #device&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  MountPoint&nbsp;&nbsp;  &nbsp;&nbsp;  filesystem&nbsp;&nbsp;  &nbsp;&nbsp;  parameters&nbsp;&nbsp;  &nbsp;&nbsp;  dump&nbsp;&nbsp;  &nbsp;&nbsp;  fsck<br />
&nbsp;&nbsp;&nbsp;&nbsp;<strong>&nbsp; /dev/hdb2&nbsp;&nbsp;  &nbsp;&nbsp;  /home&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  ext3&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp; defaults&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  1&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  1<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; </strong>将该行改为：<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  <strong>/dev/hdb2&nbsp;&nbsp; &nbsp;&nbsp; /home&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; ext3&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; defaults ，usrquota，grpquota&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 1&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 1<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  </strong>添加了usrquota和grpquota。注意，defaults，usrquota和grpquota之间没有空格。<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  这样就算加入了quota的磁盘格式了。不过，由于是真正的quota读取的是/etc/mtab这个文件，而这个文件需要重启之后才能够以/etc/fstab的新数据进行改写，所以这时您可以选择：<br />
<ol>
    <li>重新启动：reboot；</li>
    <li>重新使用remount filesystem来驱动设定值。&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;  </li>
</ol>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 在此选择方式2,这么做：<br />
&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  umount&nbsp;&nbsp;  /dev/hdb2<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  mount&nbsp;&nbsp; -a<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  more&nbsp;&nbsp;&nbsp; /etc/mtab<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp; 这样就成功地将quota的功能写入分区中了。<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;  <strong><font size="3"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 扫描磁盘的用户使用情况，并产生重要的aquota.group与aquota.user<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  <br />
<font size="1">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</font></font></strong><font size="3"><font size="1"><font size="2">  &nbsp;&nbsp;  接下来就是扫描磁盘到底有没有多余的空间可以设定quota，并且将扫描的结果输出到这个磁盘的最顶层（也就是/home下），这是就需要使用quotacheck，使用quotacheck开业轻松输出需要的数据。<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  实际操作：<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  quotacheck&nbsp;&nbsp;  -auvg<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp; &hellip;&hellip;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  ll&nbsp;&nbsp;  /home<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp; &hellip;&hellip;<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp; 这时home下应该有aquota.user和aquota.group这两个文件<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  <font size="3"><strong>启动quota的限额</strong></font><br />
</font></font></font><font size="3"><font size="2">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp; 启动quota的方式很简单，就是使用quotaon -av。<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp; 实际操作：<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  quotaon&nbsp;&nbsp;  -av<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  /dev/hdb2&nbsp;&nbsp;  [/home]：group&nbsp;&nbsp;  quotas&nbsp;&nbsp;  turned on<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  /dev/hdb2&nbsp;&nbsp;  [/home]：user&nbsp;&nbsp;  quotas&nbsp;&nbsp;  turned<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;  注意：要看到turned on 才算成功<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  <strong><font size="3">编辑用户的可用空间<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp; </font></strong><font size="3"><font size="2"><br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; 我们要设定两个用户，使用edquota：<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp; 实际操作：<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  edquota&nbsp;&nbsp;  -u&nbsp;&nbsp;  test<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  Disk&nbsp;&nbsp;  quotas&nbsp;&nbsp;  for&nbsp;&nbsp;  user&nbsp;&nbsp;  test&nbsp;&nbsp; (uid 501):<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  Filesystem&nbsp;&nbsp;  &nbsp;&nbsp;  blocks&nbsp;&nbsp;  &nbsp;&nbsp;  soft&nbsp;&nbsp;  &nbsp;&nbsp;  hard&nbsp;&nbsp;  &nbsp;&nbsp;  inodes&nbsp;&nbsp;  &nbsp;&nbsp;  soft&nbsp;&nbsp;  &nbsp;&nbsp;  hard<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  /dev/hdb2&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  32&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;  0&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  0&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  8&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  0&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  0<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  将上面的设定改为下面的样子：<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  </font></font></font></font><font size="3"><font size="2"><font size="3"><font size="2">Disk&nbsp;&nbsp;  quotas&nbsp;&nbsp;  for&nbsp;&nbsp;  user&nbsp;&nbsp;  test&nbsp;&nbsp; (uid 501):<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  Filesystem&nbsp;&nbsp;  &nbsp;&nbsp;  blocks&nbsp;&nbsp;  &nbsp;&nbsp;  soft&nbsp;&nbsp;  &nbsp; &nbsp;&nbsp; &nbsp;  hard&nbsp;&nbsp;  &nbsp; &nbsp;&nbsp; &nbsp;  inodes&nbsp;&nbsp;  &nbsp;&nbsp;  soft&nbsp;&nbsp;  &nbsp;&nbsp;  hard<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  /dev/hdb2&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  32&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp; <strong>40000  &nbsp;&nbsp;  &nbsp;&nbsp; 50000</strong>&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  8&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  0&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  0</font></font></font></font><br />
<font size="3"><font size="2"><strong><font size="3">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;</font></strong><font size="2">  注意：上面的黑体数字代表的是KB。<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp; 用户test的配额设定完毕，接下来将这个设定复制给test2用户.<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  edquota&nbsp;&nbsp;  -p&nbsp;&nbsp;  test&nbsp;&nbsp;  test2<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  接下来设定宽限时间，还是使用edquota。<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp; 实际操作：<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  edquota&nbsp;&nbsp; -t<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  Grace&nbsp;&nbsp;  period&nbsp;&nbsp;  before&nbsp;&nbsp;  enforcing&nbsp;&nbsp;  soft&nbsp;&nbsp;  limits&nbsp;&nbsp;  for users<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  Time&nbsp;&nbsp;  units&nbsp;&nbsp;  may be :days,hours,minutes,or seconds<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  Filesystem&nbsp;&nbsp;  &nbsp;&nbsp;  Block grace period&nbsp;&nbsp; Inode&nbsp;&nbsp;  grace&nbsp;&nbsp;  period<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  /dev/hdb2&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  1days&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  1days<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  将时间改为1天（原来是7days）。使用quota -vu查询是否真的设定成功：<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  quota&nbsp;&nbsp;  -vu&nbsp;&nbsp;  test&nbsp;&nbsp;  test2<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  &hellip;&hellip;&hellip;&hellip;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp; 注意：如果用户尚未超过40MB，所以grace（宽限时间）不会出现。<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  <font size="3"><strong>编辑群组使用空间<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  </strong><font size="2">还是使用edquota：<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp; 实际操作：<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  edquota&nbsp;&nbsp;  -g&nbsp;&nbsp;  test<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  Disk quotas for group test&nbsp;&nbsp;  (gid 501):<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  Filesystem&nbsp;&nbsp;  &nbsp;&nbsp;  blocks&nbsp;&nbsp;  &nbsp;&nbsp;  soft&nbsp;&nbsp;  &nbsp;&nbsp;  hard&nbsp;&nbsp;  &nbsp;&nbsp; inodes&nbsp;&nbsp;  &nbsp;&nbsp;  soft&nbsp;&nbsp;  &nbsp;&nbsp;  hard<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp; /dev/hdb2&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  60&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  0&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  0&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  15&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  0&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  0<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  改为：<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp; </font></font></font></font></font><font size="3"><font size="2"><font size="2"><font size="3"><font size="2">Disk quotas for group test&nbsp;&nbsp;  (gid 501):<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  Filesystem&nbsp;&nbsp;  &nbsp;&nbsp;  blocks&nbsp;&nbsp;  &nbsp;&nbsp;  soft&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp; hard&nbsp;&nbsp;  &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; inodes&nbsp;&nbsp;  &nbsp;&nbsp;  soft&nbsp;&nbsp;  &nbsp;&nbsp;  hard<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp; /dev/hdb2&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  60&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp; 80000  &nbsp;&nbsp;&nbsp;  90000&nbsp;&nbsp;  &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 15&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  0&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  0<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  使用quota&nbsp;&nbsp;  -vg&nbsp;&nbsp;  test&nbsp;&nbsp;  <br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;<font size="3"><strong>  设定开机时启动</strong></font><br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp; 在/etc/rc.d/rc.local这个文件加上这么一行：<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  /sbin/quotaon -aug<br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp; 要关闭quota就用quotaoff，这样就将quota设定完毕。</font></font></font></font></font>
<div id="dictdiv" style="margin: 5px; background: yellow none repeat scroll 0%; position: absolute; left: 0pt; top: 0pt; z-index: 1000; font-family: arial; font-size: 13px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; -moz-border-radius-topleft: 5px; -moz-border-radius-topright: 5px; -moz-border-radius-bottomright: 5px; -moz-border-radius-bottomleft: 5px; opacity: 0.9; display: none;">&nbsp;</div>
<div id="dictaudio">&nbsp;</div>
          <br/>
          <span style="color:red;">
            <a href="http://yanshiyi.javaeye.com/blog/97230#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 03 Jul 2007 10:59:41 +0800</pubDate>
        <link>http://yanshiyi.javaeye.com/blog/97230</link>
        <guid>http://yanshiyi.javaeye.com/blog/97230</guid>
      </item>
      <item>
        <title>quota实践</title>
        <author>yanshiyi</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yanshiyi.javaeye.com">yanshiyi</a>&nbsp;
          链接：<a href="http://yanshiyi.javaeye.com/blog/97212" style="color:red;">http://yanshiyi.javaeye.com/blog/97212</a>&nbsp;
          发表时间: 2007年07月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <font size="3"><font face="Arial">quota的功能有很多，包括：<br />
</font></font>
<ol>
    <li>限制某一群组所能使用的最大磁盘配额（使用群组限制）：您可以将主机上的用户分门别类，把某一群组用户的使用配额加大，而减少其他人的配额。</li>
    <li>限制某一用户的最大磁盘配额（使用用户限制）：在限制了群组之后，您也可以继续针对个人进行限制，使得同一群组之下还可以有更公平的分配。</li>
    <li>以link方式是邮件可以作为限制的配额（更改为/var/spool/mail这个路径）：如果是分为付费与免费会员的邮件主机系统，是否需要重新规划一个硬盘？不需要，直接使用link方式指向/home（或者其他已经做好的quota磁盘）就可以了。</li>
</ol>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  <font face="Arial"><font size="3">下面先列出几个主要的步骤：<br />
</font></font>
<ol>
    <li>开启磁盘的quota功能：编辑/etc/fstab，使得准备开放的quota磁盘可以支持quota；</li>
    <li>预扫描磁盘的使用情况：使用quotacheck扫描我们要使用的磁盘；</li>
    <li>建立用户的quota：使用edquota来编辑每个用户或者群组的可使用空间；</li>
    <li>启动quota：使用quotaon。</li>
</ol>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 整个步骤大致如此，来看一个范例：<br />
<ol>
    <li>假设test这台主机中有test与test2这两个用户，且他们都挂在test群组下；</li>
    <li>每个用户总共有50MB的磁盘空间（不考虑inode），并且soft limit为45MB；</li>
    <li>宽限时间为1天，也就是说，这2个人可以突破40MB的限制，但是在一天之内必须将多余的文件删除，否则将无法使用剩下的空间（也就是说，这个帐号大概就不能使用了）；</li>
    <li>test这个群组考虑最大限额，所以设定为90M。</li>
</ol>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  <br />
&nbsp;&nbsp;&nbsp; &nbsp; <strong>
<div id="dictdiv" style="margin: 5px; background: yellow none repeat scroll 0% 50%; position: absolute; left: 0pt; top: 0pt; z-index: 1000; font-family: arial; font-size: 13px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; -moz-border-radius-topleft: 5px; -moz-border-radius-topright: 5px; -moz-border-radius-bottomright: 5px; -moz-border-radius-bottomleft: 5px; opacity: 0.9; display: none;">&nbsp;</div></strong>
          <br/>
          <span style="color:red;">
            <a href="http://yanshiyi.javaeye.com/blog/97212#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 03 Jul 2007 10:04:54 +0800</pubDate>
        <link>http://yanshiyi.javaeye.com/blog/97212</link>
        <guid>http://yanshiyi.javaeye.com/blog/97212</guid>
      </item>
  </channel>
</rss>