<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Lost in HIT - Zealot's Blog</title>
	<atom:link href="http://zealot.hitidea.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://zealot.hitidea.org</link>
	<description>Live as if you were to die tomorrow. Learn as if you were to live forever.</description>
	<lastBuildDate>Thu, 08 Oct 2009 08:56:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>生爆盐煎肉[荤菜][菜谱]</title>
		<link>http://zealot.hitidea.org/2009/10/01/%e7%94%9f%e7%88%86%e7%9b%90%e7%85%8e%e8%82%89%e8%8d%a4%e8%8f%9c%e8%8f%9c%e8%b0%b1/</link>
		<comments>http://zealot.hitidea.org/2009/10/01/%e7%94%9f%e7%88%86%e7%9b%90%e7%85%8e%e8%82%89%e8%8d%a4%e8%8f%9c%e8%8f%9c%e8%b0%b1/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 11:54:06 +0000</pubDate>
		<dc:creator>Zealot</dc:creator>
				<category><![CDATA[生活]]></category>
		<category><![CDATA[美食]]></category>

		<guid isPermaLink="false">http://zealot.hitidea.org/?p=106</guid>
		<description><![CDATA[http://lilacbbs.com/forum/d.php?bid=57&#38;id=152274
生爆盐煎肉
[材料] 猪五花肉250、青蒜2棵
[调料] 蒜末、辣椒粉、料酒、酱油、盐、白糖、植物油、豆豉各适量
做法
1. 将各材料洗净，五花肉切片，青蒜... ]]></description>
			<content:encoded><![CDATA[<p><a title="原文在紫丁香" href="http://lilacbbs.com/forum/d.php?bid=57&amp;id=152274" target="_blank">http://lilacbbs.com/forum/d.php?bid=57&amp;id=152274</a><br />
生爆盐煎肉</p>
<p>[材料] 猪五花肉250、青蒜2棵<br />
[调料] 蒜末、辣椒粉、料酒、酱油、盐、白糖、植物油、豆豉各适量<br />
做法<br />
1. 将各材料洗净，五花肉切片，青蒜切段并将蒜白和蒜青分开备用。<br />
2. 锅烧热，倒植物油，先放入肉爆香，再加入蒜末同炒，随后倒入豆<br />
豉及蒜白拌炒。<br />
3. 加入蒜青、辣椒粉和料酒、酱油、盐、白糖快速炒匀即可。</p>
<p>教训：青蒜吸收不了太多油，五花肉不宜太肥、太多，否则会很油腻。</p>
]]></content:encoded>
			<wfw:commentRss>http://zealot.hitidea.org/2009/10/01/%e7%94%9f%e7%88%86%e7%9b%90%e7%85%8e%e8%82%89%e8%8d%a4%e8%8f%9c%e8%8f%9c%e8%b0%b1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>烈香寸排骨[荤菜][菜谱]</title>
		<link>http://zealot.hitidea.org/2009/10/01/%e7%83%88%e9%a6%99%e5%af%b8%e6%8e%92%e9%aa%a8%e8%8d%a4%e8%8f%9c%e8%8f%9c%e8%b0%b1/</link>
		<comments>http://zealot.hitidea.org/2009/10/01/%e7%83%88%e9%a6%99%e5%af%b8%e6%8e%92%e9%aa%a8%e8%8d%a4%e8%8f%9c%e8%8f%9c%e8%b0%b1/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 11:47:33 +0000</pubDate>
		<dc:creator>Zealot</dc:creator>
				<category><![CDATA[生活]]></category>
		<category><![CDATA[美食]]></category>
		<category><![CDATA[排骨]]></category>

		<guid isPermaLink="false">http://zealot.hitidea.org/?p=103</guid>
		<description><![CDATA[http://lilacbbs.com/forum/d.php?bid=57&#38;id=152163
烈香寸排骨
[材料] 猪排骨500克，青椒、红椒各1/2个
[调料] 老干妈辣酱、葱段、姜片、蒜瓣、八角、桂皮、料酒、白糖、盐、味精各适量
[做法]
1. 将排骨... ]]></description>
			<content:encoded><![CDATA[<p><a title="原来在紫丁香" href="http://lilacbbs.com/forum/d.php?bid=57&amp;id=152163" target="_blank">http://lilacbbs.com/forum/d.php?bid=57&amp;id=152163</a><br />
烈香寸排骨</p>
<p>[材料] 猪排骨500克，青椒、红椒各1/2个<br />
[调料] 老干妈辣酱、葱段、姜片、蒜瓣、八角、桂皮、料酒、白糖、盐、味精各适量<br />
[做法]<br />
1. 将排骨洗净，斩成3厘米长的段；青椒、红椒洗净后去籽去蒂，切块待用<br />
2. 锅内倒入适量清水，放入排骨段、葱段、姜片、蒜瓣、八角、桂皮、料酒、白糖、盐，将排骨慢慢煮入味，盛出后控干水分。<br />
3. 锅内倒入油烧热，放入老干妈辣酱、排骨炒3分钟后，加入青椒块、红椒块，继续炒匀，加味精调味即可。</p>
]]></content:encoded>
			<wfw:commentRss>http://zealot.hitidea.org/2009/10/01/%e7%83%88%e9%a6%99%e5%af%b8%e6%8e%92%e9%aa%a8%e8%8d%a4%e8%8f%9c%e8%8f%9c%e8%b0%b1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>读完梦断代码 &#8211; 做软件难</title>
		<link>http://zealot.hitidea.org/2009/06/24/dreaming-in-code/</link>
		<comments>http://zealot.hitidea.org/2009/06/24/dreaming-in-code/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 17:23:20 +0000</pubDate>
		<dc:creator>Zealot</dc:creator>
				<category><![CDATA[读书感悟]]></category>
		<category><![CDATA[梦断代码，DreamingInCode，读书，感想]]></category>

		<guid isPermaLink="false">http://zealot.hitidea.org/?p=99</guid>
		<description><![CDATA[就像豆瓣上其他人评论的，这本书算是本奇书吧，OSAF团队有时间、有资金、有牛人，最终历经6年打造出1.0版，并行将就木。梦幻的开局，让人唏嘘不已的结局，其中的故事会是怎样呢？Scott Ros... ]]></description>
			<content:encoded><![CDATA[<p style="margin: 0in;font-family: SimSun;font-size: 10pt">“看似说的是一个软件，其实说的大千软件，看似说一事，其实是说百事”</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">“两打程序员，三年时间，4732个bugs，和对非凡软件的不懈追求，只为打造卓越软件”</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">做软件难，尤其是大型软件，难于上青天。</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">
<p style="margin: 0in;font-size: 10pt"><span style="font-family: Calibri"><span> </span></span><span style="font-family: SimSun">以上就是本书的内容，作者通过</span><span style="font-family: Calibri">3</span><span style="font-family: SimSun">年时间跟进项目，在书中讲述了Chandler开发过程中的各种大大小小的故事，最终结论就只有一个：做软件难。</span></p>
<p style="margin: 0in;font-size: 10pt"><span style="font-family: Calibri"><span> </span></span><span style="font-family: SimSun">就像豆瓣上其他人评论的，这本书算是本奇书吧，</span><span style="font-family: Calibri">OSAF</span><span style="font-family: SimSun">团队有时间、有资金、有牛人，最终历经</span><span style="font-family: Calibri">6</span><span style="font-family: SimSun">年打造出</span><span style="font-family: Calibri">1.0</span><span style="font-family: SimSun">版，并行将就木。梦幻的开局，让人唏嘘不已的结局，其中的故事会是怎样呢？Scott Rosenberg在书中就讲述了这样一个长篇故事……</span></p>
<p style="margin: 0in;font-size: 10pt"><span style="font-family: Calibri"><span> </span></span><span style="font-family: SimSun">看此书，就如参加了一次次</span><span style="font-family: Calibri">OSAF</span><span style="font-family: SimSun">的内部会议，跟进开发的详细过程，从故事中也能看出软件工程有别于机械、土木等传统工程，进度不可控、项目不可见等等，软件开发注定就是游离于工程与艺术之间。</span></p>
<p style="margin: 0in;font-size: 10pt"><span style="font-family: Calibri"><span> </span></span><span style="font-family: SimSun">我也是刚接触软件开发行业，看不透为什么这个项目会延期几年，最终</span><span style="font-family: Calibri">6</span><span style="font-family: SimSun">年时间才出</span><span style="font-family: Calibri">1.0</span><span style="font-family: SimSun">版。不论细节的话，只能说</span><span style="font-family: Calibri">Chandler</span><span style="font-family: SimSun">生不逢时，出生在这个</span><span style="font-family: Calibri">Web</span><span style="font-family: SimSun">快速发展的年代。今天尝试了</span><span style="font-family: Calibri">Google Wave</span><span style="font-family: SimSun">内测版，感觉似乎一觉醒来，世界已经完全变了。常规软件项目我没真正做过，但是基于</span><span style="font-family: Calibri">Web</span><span style="font-family: SimSun">的产品在大量的设计类书里都是有个基本原则：最小化设计。也就是说</span><span style="font-family: Calibri">1.0</span><span style="font-family: SimSun">版能实现最最基本的功能即可，</span><span style="font-family: Calibri">&#8220;it works&#8221;</span><span style="font-family: SimSun">就是</span><span style="font-family: Calibri">1.0</span><span style="font-family: SimSun">版的全部。</span><span style="font-family: Calibri">2009 csdn</span><span style="font-family: SimSun">软件英雄会上支付宝用户体验师白鸦</span><span style="font-family: Calibri">(</span><span style="font-family: SimSun">过去好久，希望没记错，</span><span style="font-family: Calibri">blog: </span><a href="http://uicom.net/"><span style="font-family: SimSun">http://uicom.net</span></a><span style="font-family: Calibri"> )</span><span style="font-family: SimSun">提到了这点，并拿</span><span style="font-family: Calibri">gmail</span><span style="font-family: SimSun">举例子，</span><span style="font-family: Calibri">gmail</span><span style="font-family: SimSun">刚开放时基本上就只有收发邮件功能，连中文都没处理好，但是通过逐步的改进做到今天难以替代。</span><span style="font-family: Calibri">OSAF</span><span style="font-family: SimSun">一开始就想打造超越</span><span style="font-family: Calibri">OUTLOOK</span><span style="font-family: SimSun">的卓越的软件，但是当</span><span style="font-family: Calibri">Chandler</span><span style="font-family: SimSun">缓慢前进中，很多其他产品早已从</span><span style="font-family: Calibri">web</span><span style="font-family: SimSun">那条道路上飞快的超越过去了。</span></p>
<p style="margin: 0in;font-size: 10pt"><span style="font-family: Calibri"><span> </span></span><span style="font-family: SimSun">书中有些事情还是很有意思的。</span></p>
<p style="margin: 0in;font-size: 10pt"><span style="font-family: Calibri"><span> </span></span><span style="font-family: SimSun">“跟踪进度是为了协调工作，而不是要表扬或者批评谁；‘完成啦’在不同人眼里定义不同；”，这个没什么好说的。</span></p>
<p style="margin: 0in;font-size: 10pt"><span style="font-family: Calibri"><span> </span></span><span style="font-family: SimSun">“到OSAF后不久，杜索特就利用午餐时间向同事们做了个关于WebDav的讲座。将它描述为一种“秘密协议”：内建到Microsoft Windows和苹果Mac OS X系统中，也在许多要提供某种远端共享和编辑功能的软件包中存在，但却鲜为人知。”，注意，这里说的是午餐时间，事先的沟通远胜于会议中突兀的提出后好很多，能有效避免大量的争论。</span></p>
<p style="margin: 0in;font-size: 10pt"><span style="font-family: Calibri"><span> </span></span><span style="font-family: SimSun">最难忘的是这句：“如果不坚持，我什么都不是”，不可知因素太多了，“坚持”在很多时候就是最好的选择。虽然</span><span style="font-family: Calibri">OSAF</span><span style="font-family: SimSun">失败了，但是个中体会，也只有当事人最清楚了。</span></p>
<p style="margin: 0in;font-size: 10pt"><span style="font-family: Calibri"><span> </span></span><span style="font-family: SimSun">最后，这本书应该比较适合刚入软件行业的，或者软件项目管理者、或者产品经理阅读，刻骨铭心的失败的故事兴许能让人对软件工程这个特殊行业有更深入更新的了解。另外，</span><span style="font-family: Calibri">douban</span><span style="font-family: SimSun">上与该书相关的话题就有软件工程管理、产品的设计。不知道资深软件相关人员整天想啥，就不推荐了。</span></p>
]]></content:encoded>
			<wfw:commentRss>http://zealot.hitidea.org/2009/06/24/dreaming-in-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zealot搬家了</title>
		<link>http://zealot.hitidea.org/2009/05/17/move/</link>
		<comments>http://zealot.hitidea.org/2009/05/17/move/#comments</comments>
		<pubDate>Sun, 17 May 2009 02:23:23 +0000</pubDate>
		<dc:creator>Zealot</dc:creator>
				<category><![CDATA[杂七杂八]]></category>
		<category><![CDATA[zealot]]></category>
		<category><![CDATA[搬家]]></category>

		<guid isPermaLink="false">http://zealot.hitidea.org/?p=94</guid>
		<description><![CDATA[由于房子到期，小Z从A小区，搬到B小区，今天晚上完成一期搬迁工程，明天我们继续关注二期也就是最后一期的搬迁。
A小区的那个屋子3室+1隔间，其他几个人都非常不好相处，小Z从此多了一... ]]></description>
			<content:encoded><![CDATA[<p><span lang="zh-CN">由于房子到期，小</span><span lang="en-US">Z</span><span lang="zh-CN">从</span><span lang="en-US">A</span><span lang="zh-CN">小区，搬到</span><span lang="en-US">B</span><span lang="zh-CN">小区，今天晚上完成一期搬迁工程，明天我们继续关注二期也就是最后一期的搬迁。</span></p>
<p><span lang="en-US">A</span><span lang="zh-CN">小区的那个屋子</span><span lang="en-US">3</span><span lang="zh-CN">室</span><span lang="en-US">+1</span><span lang="zh-CN">隔间，其他几个人都非常不好相处，小</span><span lang="en-US">Z</span><span lang="zh-CN">从此多了一个人生目标：打死也不要变成那样的人，坚决不要养成那样的言行举止。</span></p>
<p>那个屋子的房东还不错，可惜房子到期了，房东也不想继续和这个垃圾中介合作，转而找个不那么垃圾的中介。这个垃圾中介规定房子到期后三个月内房东不能和房客私下签约。</p>
<p><span lang="zh-CN">综上所述：小</span><span lang="en-US">Z</span><span lang="zh-CN">又要搬家了。</span></p>
<p><span lang="zh-CN">小</span><span lang="en-US">Z</span><span lang="zh-CN">从五一前开始找房子。对了，由于上面提到的某种原因，小</span><span lang="en-US">Z</span><span lang="zh-CN">在</span><span lang="en-US">A</span><span lang="zh-CN">小区不能上网。每次都是周一到周五在公司上网找房子（下班后，虽然没有职业道德的完整概念，但小</span><span lang="en-US">Z</span><span lang="zh-CN">正在努力学习），并联系房东，周末出去看房子。</span></p>
<p>目标：直接联系房东，找到物美价廉人好相处符合我特定需求的房子一间。</p>
<p>连续看房子十多天后我绝望了，符合我要求的房子在网上出现几个小时内就被抢了，等我看房时已经没了。</p>
<p><span lang="zh-CN">稍微计算一下就发现，把这些时间折成工资的话已经亏大了，于是决定直接找中介。我爱我家不错，除了要收取</span><span lang="en-US">1</span><span lang="zh-CN">个月的房租作为中介费。</span></p>
<p>“我爱我家”给我联系了隔壁小区的一个房东，看房子之后非常满意，当晚就取钱签合同了。以后直接和房东联系，到期后可以直接和房东续签，而不用考虑中介的问题。</p>
<p>最后，搬家！</p>
<p><span lang="zh-CN">前面说了，</span><span lang="en-US">A</span><span lang="zh-CN">小区和</span><span lang="en-US">B</span><span lang="zh-CN">小区仅隔一条街，准确的说是一个非常开阔的露天停车场，因为街的另一头是死胡同。</span></p>
<p><span lang="zh-CN">搬家距离相当于在学校时</span><span lang="en-US">2</span><span lang="zh-CN">公寓搬到</span><span lang="en-US">16</span><span lang="zh-CN">公寓的距离，采用愤青同志的建议：蚂蚁搬家式。</span></p>
<p>跑了四五趟之后把大部分都搬过来了。</p>
<p>这个小区的整体环境非常不错，门卫的那个哥们非常不错，大晚上的帮我开了好几次门（房东还没给我门禁卡），给我感觉应该姓耿，因为我认识的几个姓耿的都特别好相处，亲切，初次见面就跟熟人似的。。</p>
<p><span lang="zh-CN">把床铺好后突然意识到这个房间竟然有</span><span lang="en-US">5</span><span lang="zh-CN">个门</span><span lang="en-US">!!!!</span></p>
<p><span lang="zh-CN">一个入口，一个门内是嵌在墙里的挂衣间，一个</span><span lang="en-US">3</span><span lang="zh-CN">平米左右的储物室，一个通往</span><span lang="en-US">6</span><span lang="zh-CN">平米的室内阳台，一个通往室外阳台。。。很好很强大，我喜欢。</span></p>
<p>明天把剩余东西搬过来，并找中介退押金。</p>
<p> </p>
<p><span lang="zh-CN">最最后再次意识到我的东西好多啊。。。</span><span lang="en-US">3</span><span lang="zh-CN">床被子、</span><span lang="en-US">3</span><span lang="zh-CN">双拖鞋、两个“半打”泡沫地板、书累计起来估计超过我体重了，</span><span lang="en-US">6</span><span lang="zh-CN">条毛巾（其中</span><span lang="en-US">4</span><span lang="zh-CN">条未开封），天呐，没一个能扔掉……</span></p>
<p>最最最后，那个好心的门卫给我提供了一个小推车（超市里用的的那种），我想明天搬运锅碗瓢盆时能用上。</p>
]]></content:encoded>
			<wfw:commentRss>http://zealot.hitidea.org/2009/05/17/move/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>apt无法卸载nginx的问题</title>
		<link>http://zealot.hitidea.org/2009/04/29/how-to-uninstall-nginx-with-apt/</link>
		<comments>http://zealot.hitidea.org/2009/04/29/how-to-uninstall-nginx-with-apt/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 12:01:39 +0000</pubDate>
		<dc:creator>Zealot</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[程序设计]]></category>
		<category><![CDATA[apt]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[uninstall]]></category>

		<guid isPermaLink="false">http://zealot.hitidea.org/?p=91</guid>
		<description><![CDATA[
今天小试了一把nginx，用apt装上后开始配置，可对着中文wiki上的文档配置时总是超出预期，出现各种问题，突然想起查看一下版本，竟然是0.4，官方已经0.7了，faint
于是用apt卸掉，结果apt也fain... ]]></description>
			<content:encoded><![CDATA[<p style="margin: 0in;font-size: 17pt">
<p style="margin: 0in;font-size: 10pt"><span style="font-family: SimSun" lang="zh-CN">今天小试了一把</span><span style="font-family: Calibri" lang="en-US">nginx</span><span style="font-family: SimSun" lang="zh-CN">，用</span><span style="font-family: Calibri" lang="en-US">apt</span><span style="font-family: SimSun" lang="zh-CN">装上后开始配置，可对着中文</span><span style="font-family: Calibri" lang="en-US">wiki</span><span style="font-family: SimSun" lang="zh-CN">上的文档配置时总是超出预期，出现各种问题，突然想起查看一下版本，竟然是</span><span style="font-family: Calibri" lang="en-US">0.4</span><span style="font-family: SimSun" lang="zh-CN">，官方已经</span><span style="font-family: Calibri" lang="en-US">0.7</span><span style="font-family: SimSun" lang="zh-CN">了，</span><span style="font-family: Calibri" lang="en-US">faint</span></p>
<p style="margin: 0in;font-size: 10pt"><span style="font-family: SimSun" lang="zh-CN">于是用</span><span style="font-family: Calibri" lang="en-US">apt</span><span style="font-family: SimSun" lang="zh-CN">卸掉，结果</span><span style="font-family: Calibri" lang="en-US">apt</span><span style="font-family: SimSun" lang="zh-CN">也</span><span style="font-family: Calibri" lang="en-US">faint</span><span style="font-family: SimSun" lang="zh-CN">了。。。：</span></p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">$ sudo apt-get &#8211;purge remove nginx<br />
<span> </span>Reading package lists&#8230; Done<br />
<span> </span>Building dependency tree<br />
<span> </span>Reading state information&#8230; Done<br />
<span> </span>The following packages will be REMOVED:<br />
<span> </span>nginx*<br />
<span> </span>0 upgraded, 0 newly installed, 1 to remove and 116 not upgraded.<br />
<span> </span>1 not fully installed or removed.<br />
<span> </span>Need to get 0B of archives.<br />
<span> </span>After unpacking 528kB disk space will be freed.<br />
<span> </span>Do you want to continue [Y/n]?<br />
<span> </span>(Reading database &#8230; 242827 files and directories currently installed.)<br />
<span> </span>Removing nginx &#8230;<br />
<span> </span>Stopping nginx: invoke-rc.d: initscript nginx, action &#8220;stop&#8221; failed.<br />
<span> </span>dpkg: error processing nginx (&#8211;purge):<br />
<span> </span>subprocess pre-removal script returned error exit status 1<br />
<span> </span>Starting nginx: invoke-rc.d: initscript nginx, action &#8220;start&#8221; failed.<br />
<span> </span>dpkg: error while cleaning up:<br />
<span> </span>subprocess post-installation script returned error exit status 1<br />
<span> </span>Errors were encountered while processing:<br />
<span> </span>nginx</p>
<p style="margin: 0in;font-size: 10pt"><span style="font-family: SimSun" lang="zh-CN"><span> </span>E: Sub-process /usr/bin/dpkg returned an error code (1)<br />
上网搜了一把，好多都是说直接把相关文件删了，最后看到这个方法：“How to uninstall nginx with apt（</span><a href="http://www.peterbe.com/plog/how-to-uninstall-nginx-with-apt"><span style="font-family: SimSun" lang="zh-CN">http://www.peterbe.com/plog/how-to-uninstall-nginx-with-apt</span></a><span style="font-family: SimSun" lang="zh-CN">）”，也就是在/etc/init.d/nginx 脚本的最前面加上</span><span style="font-family: Calibri" lang="en-US">exit 0</span><span style="font-family: SimSun" lang="zh-CN">，这样就强制</span><span style="font-family: Calibri" lang="en-US">return 0</span><span style="font-family: SimSun" lang="zh-CN">，解决了这个问题：E: “Sub-process /usr/bin/dpkg returned an error code (1)”</span></p>
<p style="margin: 0in;font-size: 10pt"><span style="font-family: SimSun" lang="zh-CN">然后再apt-get &#8211;purge remove nginx，</span><span style="font-family: Calibri" lang="en-US">done</span><span style="font-family: SimSun" lang="zh-CN">。</span></p>
<p style="margin: 0in;font-size: 10pt"><span style="font-family: SimSun" lang="zh-CN">最后手动清了</span><span style="font-family: Calibri" lang="en-US">/var/lib/nginx</span><span style="font-family: SimSun" lang="zh-CN">和</span><span style="font-family: Calibri" lang="en-US">/var/log/nginx</span><span style="font-family: SimSun" lang="zh-CN">。</span></p>
<p><span style="font-family: SimSun" lang="zh-CN"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://zealot.hitidea.org/2009/04/29/how-to-uninstall-nginx-with-apt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C++拷贝构造函数没有执行的问题</title>
		<link>http://zealot.hitidea.org/2009/04/29/cpp-copy-constructor-problem/</link>
		<comments>http://zealot.hitidea.org/2009/04/29/cpp-copy-constructor-problem/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 11:48:20 +0000</pubDate>
		<dc:creator>Zealot</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[程序设计]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[constructor]]></category>
		<category><![CDATA[problem]]></category>

		<guid isPermaLink="false">http://zealot.hitidea.org/?p=89</guid>
		<description><![CDATA[问题是在这http://lilacbbs.com/forum/d.php?bid=66&#38;id=62395，想了半天想不明白
摘要就是 Fred z = Fred(3);时没有执行拷贝构造函数，查了标准手册才发现原来如此：会不会调用拷贝构造函数由具体编译器... ]]></description>
			<content:encoded><![CDATA[<p style="margin: 0in;font-family: SimSun;font-size: 10pt">问题是在这<a href="http://lilacbbs.com/forum/d.php?bid=66&amp;id=62395">http://lilacbbs.com/forum/d.php?bid=66&amp;id=62395</a>，想了半天想不明白</p>
<p style="margin: 0in;font-size: 10pt"><span style="font-family: SimSun" lang="zh-CN">摘要就是</span><span style="font-family: Calibri" lang="en-US"> Fred z = Fred(3);</span><span style="font-family: SimSun" lang="zh-CN">时没有执行拷贝构造函数，查了标准手册才发现原来如此：会不会调用拷贝构造函数由具体编译器实现决定：</span></p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">Standard C++98 12.8</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">15 Whenever a temporary class object is copied using a copy constructor, and this object and the copy have the</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">same cvunqualified</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">type, <span style="color: red">an implementation is permitted to treat the original and the copy as two different</span></p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt;color: red">ways of referring to the same object and not perform a copy at all, even if the class copy constructor or</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt"><span style="color: red">destructor have side effects.</span> For a function with a class return type, if the expression in the return statement</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">is the name of a local object, and the cvunqualified</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">type of the local object is the same as the function</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">return type, an implementation is permitted to omit creating the temporary object to hold the function return</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">value, even if the class copy constructor or destructor has side effects. In these cases, the object is</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">destroyed at the later of times when the original and the copy would have been destroyed without the optimization.</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">111) [Example:</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">class Thing {</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">public:</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">Thing();</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">~Thing();</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">Thing(const Thing&amp;);</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">Thing operator=(const Thing&amp;);</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">void fun();</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">};</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">Thing f() {</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">Thing t;</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">return t;</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">}</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">Thing t2 = f();</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">Here t does not need to be copied when returning from f. The return value of f may be constructed</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">directly into the object t2. ]</p>
]]></content:encoded>
			<wfw:commentRss>http://zealot.hitidea.org/2009/04/29/cpp-copy-constructor-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>解决apt-get中依赖的库无法安装的问题</title>
		<link>http://zealot.hitidea.org/2009/04/28/apt-get-depends-purge-remove/</link>
		<comments>http://zealot.hitidea.org/2009/04/28/apt-get-depends-purge-remove/#comments</comments>
		<pubDate>Tue, 28 Apr 2009 11:11:06 +0000</pubDate>
		<dc:creator>Zealot</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[程序设计]]></category>
		<category><![CDATA[apt-get]]></category>
		<category><![CDATA[remove]]></category>
		<category><![CDATA[vim]]></category>
		<category><![CDATA[vim-full]]></category>

		<guid isPermaLink="false">http://zealot.hitidea.org/?p=85</guid>
		<description><![CDATA[今天apt-get install vim-full的时候，出现了错误，详见后面。原因不清楚，估计是sun-java5-jre这个包相关的东西出了问题，彻底清除了试试：sudo apt-get --purge remove sun-java5-jre，然后重新装上。。
再来... ]]></description>
			<content:encoded><![CDATA[<p>今天apt-get install vim-full的时候，出现了错误，详见后面。原因不清楚，估计是sun-java5-jre这个包相关的东西出了问题，彻底清除了试试：sudo apt-get &#8211;purge remove sun-java5-jre，然后重新装上。。<br />
再来sudo apt-get install vim-full，OK。</p>
<p>Reading package lists&#8230;<br />
Building dependency tree&#8230;<br />
You might want to run `apt-get -f install&#8217; to correct these:<br />
The following packages have unmet dependencies:<br />
sun-java5-jre: Depends: sun-java5-bin (= 1.5.0-14-1etch1) but it is not going to be installed or<br />
ia32-sun-java5-bin (= 1.5.0-14-1etch1) but it is not installable<br />
vim-full: Depends: vim-gui-common (= 1:7.0-122+1etch5) but it is not going to be installed<br />
Depends: vim-common (= 1:7.0-122+1etch5) but 1:7.0-122+1etch3 is to be installed<br />
Depends: vim-runtime (= 1:7.0-122+1etch5) but 1:7.0-122+1etch3 is to be installed<br />
Depends: libart-2.0-2 (&gt;= 2.3.16) but it is not going to be installed<br />
Depends: libatk1.0-0 (&gt;= 1.12.2) but it is not going to be installed<br />
Depends: libbonobo2-0 (&gt;= 2.13.0) but it is not going to be installed<br />
Depends: libbonoboui2-0 (&gt;= 2.5.4) but it is not going to be installed<br />
Depends: libcairo2 (&gt;= 1.2.4) but it is not going to be installed<br />
Depends: libgconf2-4 (&gt;= 2.13.5) but it is not going to be installed<br />
Depends: libglib2.0-0 (&gt;= 2.12.0) but it is not going to be installed<br />
Depends: libgnome-keyring0 (&gt;= 0.6.0) but it is not going to be installed<br />
Depends: libgnome2-0 (&gt;= 2.14.1) but it is not going to be installed<br />
Depends: libgnomecanvas2-0 (&gt;= 2.11.1) but it is not going to be installed<br />
Depends: libgnomeui-0 (&gt;= 2.13.0) but it is not going to be installed<br />
Depends: libgnomevfs2-0 (&gt;= 2.13.92) but it is not going to be installed<br />
Depends: libgtk2.0-0 (&gt;= 2.8.0) but it is not going to be installed<br />
Depends: liborbit2 (&gt;= 1:2.14.1) but it is not going to be installed<br />
Depends: libpango1.0-0 (&gt;= 1.14.8) but it is not going to be installed<br />
Depends: libperl5.8 (&gt;= 5.8.8) but it is not going to be installed<br />
Depends: libruby1.8 (&gt;= 1.8.5) but it is not going to be installed<br />
Depends: libxcursor1 (&gt; 1.1.2) but it is not going to be installed<br />
Depends: libxfixes3 (&gt;= 1:4.0.1) but it is not going to be installed<br />
Depends: libxi6 but it is not going to be installed<br />
Depends: libxinerama1 but it is not going to be installed<br />
Depends: libxrandr2 but it is not going to be installed<br />
Depends: libxrender1 but it is not going to be installed<br />
Depends: tcl8.4 (&gt;= 8.4.5) but it is not going to be installed</p>
]]></content:encoded>
			<wfw:commentRss>http://zealot.hitidea.org/2009/04/28/apt-get-depends-purge-remove/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C++解析json的parser，tinyjson问题的解决办法</title>
		<link>http://zealot.hitidea.org/2009/04/26/tinyjson-cpp-json-parser/</link>
		<comments>http://zealot.hitidea.org/2009/04/26/tinyjson-cpp-json-parser/#comments</comments>
		<pubDate>Sat, 25 Apr 2009 17:37:42 +0000</pubDate>
		<dc:creator>Zealot</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[程序设计]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[parser]]></category>
		<category><![CDATA[tinyjson]]></category>
		<category><![CDATA[编译]]></category>

		<guid isPermaLink="false">http://zealot.hitidea.org/?p=67</guid>
		<description><![CDATA[解决C++中tinyjson解析json的bug，简单修改了tinyjson的parser... ]]></description>
			<content:encoded><![CDATA[<p style="margin: 0in;font-size: 10pt"><span style="font-family: SimSun">前不久需要解析一个</span><span style="font-family: Calibri">json</span><span style="font-family: SimSun">的接口，上</span><span style="font-family: Calibri">json</span><span style="font-family: SimSun">官网（</span><a href="http://www.json.org/json-zh.html"><span style="font-family: SimSun">http://www.json.org/json-zh.html</span></a><span style="font-family: SimSun">）上找找</span><span style="font-family: Calibri">C++</span><span style="font-family: SimSun">的</span><span style="font-family: Calibri">parser</span><span style="font-family: SimSun">。结果发现长长的</span><span style="font-family: Calibri">list</span><span style="font-family: SimSun">，支持各种语言的各种版本。上第一个官网看看（</span><a href="http://blog.beef.de/projects/tinyjson/"><span style="font-family: SimSun">http://blog.beef.de/projects/tinyjson/</span></a><span style="font-family: SimSun">），对</span><span style="font-family: Calibri">tiny**</span><span style="font-family: SimSun">的东西还是比较感兴趣的，比如</span><span style="font-family: Calibri">tinyxml</span><span style="font-family: SimSun">。。。</span></p>
<p style="margin: 0in;font-size: 10pt"><span style="font-family: SimSun">果然够</span><span style="font-family: Calibri">tiny</span><span style="font-family: SimSun">，下载下来一看发现只有一个</span><span style="font-family: Calibri">.hpp</span><span style="font-family: SimSun">文件就行了。接下来就开始</span><span style="font-family: Calibri">ft</span><span style="font-family: SimSun">了，按照官网上的</span><span style="font-family: Calibri">sample</span><span style="font-family: SimSun">调用了一下，编译都不过：</span></p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt"><span> </span>../include/tinyjson/tinyjson.hpp: In function &#8216;typename json::grammar&lt;typename Iterator::value_type&gt;::variant json::parse(const Iterator&amp;, const Iterator&amp;)&#8217;:</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">../include/tinyjson/tinyjson.hpp:549: error: expected `;&#8217; before &#8217;st&#8217;</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">../include/tinyjson/tinyjson.hpp:550: error: &#8217;st&#8217; was not declared in this scope</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">../include/tinyjson/tinyjson.hpp: In function &#8216;typename json::grammar&lt;typename Iterator::value_type&gt;::variant json::parse(const Iterator&amp;, const Iterator&amp;) [with Iterator = __gnu_cxx::__normal_iterator&lt;char*, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;]&#8216;:</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">test.cpp:45:<span> </span>instantiated from here</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">../include/tinyjson/tinyjson.hpp:549: error: dependent-name &#8216;json::grammar&lt;typename Iterator::value_type&gt;::stack&#8217; is parsed as a non-type, but instantiation yields a type</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">../include/tinyjson/tinyjson.hpp:549: note: say &#8216;typename json::grammar&lt;typename Iterator::value_type&gt;::stack&#8217; if a type is meant</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">……</p>
<p style="margin: 0in;font-size: 10pt"><span style="font-family: Calibri">google</span><span style="font-family: SimSun">了一下，相关资料真少，难道用</span><span style="font-family: Calibri">c++</span><span style="font-family: SimSun">解析</span><span style="font-family: Calibri">json</span><span style="font-family: SimSun">很发指么，最后硬着头皮在这个日文的</span><span style="font-family: Calibri">blog</span><span style="font-family: SimSun">（</span><a href="http://d.hatena.ne.jp/S_Nakayama/20081207/1228592806"><span style="font-family: SimSun">http://d.hatena.ne.jp/S_Nakayama/20081207/1228592806</span></a><span style="font-family: SimSun">）上找到了答案。修改记录如下：</span></p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">549c549</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">&lt;<span> </span>json::grammar&lt; typename Iterator::value_type &gt;::stack st;</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">&#8212;</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">&gt;<span> </span>typename json::grammar&lt; typename Iterator::value_type &gt;::stack st;</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">565c565</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">&lt;<span> </span>return json::grammar&lt; typename Iterator::value_type &gt;::variant(new boost::any());</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">&#8212;</p>
<p style="margin: 0in;font-family: SimSun;font-size: 10pt">&gt;<span> </span>return typename json::grammar&lt; typename Iterator::value_type &gt;::variant(new boost::any());</p>
<p style="margin: 0in;font-size: 10pt"><span style="font-family: SimSun">相应的加上</span><span style="font-family: Calibri">typename</span><span style="font-family: SimSun">就行了。</span></p>
<p style="margin: 0in;font-size: 10pt"><span style="font-family: SimSun">最后，还想说一句，</span><span style="font-family: Calibri">tinyjson</span><span style="font-family: SimSun">官网的</span><span style="font-family: Calibri">sample</span><span style="font-family: SimSun">里遍历的方法也没编译过，最后改了一下遍历函数的参数，函数原型是void Traverse(json::grammar&lt;char&gt;::variant const v, const string&amp; name, int level)。</span><span style="font-family: Calibri">name</span><span style="font-family: SimSun">表示上级节点名称，</span><span style="font-family: Calibri">level</span><span style="font-family: SimSun">表示当前内容的深度。虽然看着还是不爽，但好歹能工作了。</span></p>
]]></content:encoded>
			<wfw:commentRss>http://zealot.hitidea.org/2009/04/26/tinyjson-cpp-json-parser/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>时间管理——效率、效能、效果</title>
		<link>http://zealot.hitidea.org/2008/11/17/efficiency/</link>
		<comments>http://zealot.hitidea.org/2008/11/17/efficiency/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 03:15:31 +0000</pubDate>
		<dc:creator>Zealot</dc:creator>
				<category><![CDATA[时间管理每天一贴]]></category>
		<category><![CDATA[GTD]]></category>
		<category><![CDATA[价值]]></category>
		<category><![CDATA[效果]]></category>
		<category><![CDATA[效率]]></category>
		<category><![CDATA[效能]]></category>
		<category><![CDATA[时间管理]]></category>
		<category><![CDATA[目标]]></category>
		<category><![CDATA[计划]]></category>

		<guid isPermaLink="false">http://losthit.com/2008/11/17/%e6%97%b6%e9%97%b4%e7%ae%a1%e7%90%86%e2%80%94%e2%80%94%e6%95%88%e7%8e%87%e3%80%81%e6%95%88%e8%83%bd%e3%80%81%e6%95%88%e6%9e%9c/</guid>
		<description><![CDATA[1. 效率、效能、效果
a. 如何把时间放在最有效果的事情上
b. 工作、学习、家庭、社交等都不会有烦恼
2. 第一代时间管理
a. 备忘录时间：写纸条，便签纸等，随身携带，每次做完一件事情就划... ]]></description>
			<content:encoded><![CDATA[<p>1. 效率、效能、效果<br />
a. 如何把时间放在最有效果的事情上<br />
b. 工作、学习、家庭、社交等都不会有烦恼<br />
2. 第一代时间管理<br />
a. 备忘录时间：写纸条，便签纸等，随身携带，每次做完一件事情就划掉。好处是可以保证不会遗漏任何事情，压力小，每完成一个小事情都会有“成就感”，督促自己及时完成各项任务，避免拖拉带来的不必要的麻烦。缺点是没有严整的组织架构，可能会忘记记录从而漏掉一些事情。<br />
3. 第二代时间管理<br />
a. 行事历型：强调规划和准备，订立合适的目标。安排好未来的工作，注明deadline。优点：追踪答应做的事情；完成的事情达成的比例高。缺点是：容易产生安排人的习惯，授权了很多工作缺见不到真正的需求。<br />
4. 第三代时间管理<br />
a. 规划型：制定的是优先顺序。首先清理个人的价值观，分析我要的是什么，最需要的是什么。强调价值，制定中长短的目标。提高生活效率，拟定轻重缓急。优点是：以价值为导向的生活工作管理方式，容易产生价值；效率高；生活井然有序，对生活有管理的约束性。缺点：以价值为导向，违背了自然法则，价值高的可能违背了自然法则；缺乏远见，每天的规划都是找出最紧急重要的事情来做；<br />
5. 第四代的时间管理<br />
a. 选择型：一切以自然法则为中心；罗盘理论：利人利己的管理法则。追求更快更好更具有效率。每个选择不是离目标很远，就是离目标很近。<br />
6. 每天用最小的付出获得最大的价值。<br />
7. 具有人生方向，有价值观，知识在成长，心灵也要平静。检讨自己。<br />
8. 时间是我们生命的一部分。<br />
9. 上帝很公平：给每个人每天都是24小时。</p>
<p>最后附上一个周计划模板，个人感觉纸质的东西只要不泛滥还是电子版无法替代的：下载空白周计划表（<a href="http://www.gtdlife.cn/wp-content/uploads/2008/10/weekly-planner.pdf" target="_blank">http://www.gtdlife.cn/wp-content/uploads/2008/10/weekly-planner.pdf</a>），这里有个范例：<a href="http://www.gtdlife.cn/wp-content/uploads/2008/10/filled-in-weekly-planner.pdf" target="_blank">http://www.gtdlife.cn/wp-content/uploads/2008/10/filled-in-weekly-planner.pdf</a><br />
资料来源：<a href="http://www.gtdlife.cn/2008/1016/weekly-plan-template/" target="_blank">http://www.gtdlife.cn/2008/1016/weekly-plan-template/</a> ，邹 鑫。</p>
]]></content:encoded>
			<wfw:commentRss>http://zealot.hitidea.org/2008/11/17/efficiency/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux 入门：阅读man手册</title>
		<link>http://zealot.hitidea.org/2008/10/30/linux-%e5%85%a5%e9%97%a8%ef%bc%9a%e9%98%85%e8%af%bbman%e6%89%8b%e5%86%8c/</link>
		<comments>http://zealot.hitidea.org/2008/10/30/linux-%e5%85%a5%e9%97%a8%ef%bc%9a%e9%98%85%e8%af%bbman%e6%89%8b%e5%86%8c/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 20:55:15 +0000</pubDate>
		<dc:creator>Zealot</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[man]]></category>
		<category><![CDATA[page]]></category>
		<category><![CDATA[手册]]></category>
		<category><![CDATA[阅读]]></category>

		<guid isPermaLink="false">http://losthit.com/?p=33</guid>
		<description><![CDATA[From ： http://www.fire3.cn/2008/08/03/linux-howto-read-man-page.html

 
 
搜索和打印介绍不错：）

 
 
1 什么是man手册

 
 
首先，man是manual的简称，中文说法可以是手册。

 
 
在Linux世界中，许多新手请... ]]></description>
			<content:encoded><![CDATA[<p><span style="font-size:10pt">From ： <a href="http://www.fire3.cn/2008/08/03/linux-howto-read-man-page.html">http://www.fire3.cn/2008/08/03/linux-howto-read-man-page.html</a><br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt">搜索和打印介绍不错：）<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt">1 什么是man手册<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt">首先，man是manual的简称，中文说法可以是手册。<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt">在Linux世界中，许多新手请教某条命令的用法时， 好多不耐心的老手通常会用一条命令来回答这位无助的新手，而这条命令通常<br />
</span></p>
<p><span style="font-size:10pt">就是man开头。无助的新手敲上这条命令一看究竟，在终端上顿时显示出来了一屏幕的英文，<br />
</span></p>
<p><span style="font-size:10pt">老手的意思是，自己看看手册吗，可是看手册也是有学问的，无助的新手甚<br />
</span></p>
<p><span style="font-size:10pt">至不知道怎么退出这条命令呢。下面我们就来讲解一下看man手册的学问。<br />
</span></p>
<p><span style="font-size:10pt">2 从man手册中获取有用的信息<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt">我们先以mkdir命令来解释读man手册的一些入门知识。<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt">MKDIR(1)     User Commands              MKDIR(1)<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt">NAME<br />
</span></p>
<p><span style="font-size:10pt"> mkdir &#8211; make directories<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt">SYNOPSIS<br />
</span></p>
<p><span style="font-size:10pt"> mkdir [OPTION] DIRECTORY&#8230;<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt">DESCRIPTION<br />
</span></p>
<p><span style="font-size:10pt"> Create the DIRECTORY(ies), if they do not already exist.<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt"> Mandatory arguments to long options are mandatory for short options too.<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt"> -m, &#8211;mode=MODE<br />
</span></p>
<p><span style="font-size:10pt"> set file mode (as in chmod), not a=rwx &#8211; umask<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt"> -p, &#8211;parents<br />
</span></p>
<p><span style="font-size:10pt"> no error if existing, make parent directories as needed<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt"> -v, &#8211;verbose<br />
</span></p>
<p><span style="font-size:10pt"> print a message for each created directory<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt"> -Z, &#8211;context=CTX<br />
</span></p>
<p><span style="font-size:10pt"> set the SELinux security context of each created directory to CTX<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt"> &#8211;help display this help and exit<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt"> &#8211;version<br />
</span></p>
<p><span style="font-size:10pt"> output version information and exit<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt">AUTHOR<br />
</span></p>
<p><span style="font-size:10pt"> Written by David MacKenzie.<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt">REPORTING BUGS<br />
</span></p>
<p><span style="font-size:10pt"> Report bugs to &lt;bug-coreutils@gnu.org&gt;.<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt">COPYRIGHT<br />
</span></p>
<p><span style="font-size:10pt"> Copyright (C) 2008 Free Software Foundation, Inc.  License GPLv3+: GNU GPL version 3 or later &lt;<a href="http://gnu.org/licenses/gpl.html">http://gnu.org/licenses/gpl.html</a>&gt;<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt"> This is free software: you are free to change and redistribute it.  There is NO WARRANTY, to the extent permitted by law.<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt">SEE ALSO<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt"> mkdir(2)<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt"> The  full documentation for mkdir is maintained as a Texinfo manual.  If the info and mkdir programs are properly installed at your site, the com-<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt"> mand<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt"> info coreutils &#8216;mkdir invocation&#8217;<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt"> should give you access to the complete manual.<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt">首先第一行 MKDIR(1)，显然，MKDIR是命令的大写，那么为什么有个(1)呢，那是因为man手册页有如下的规定：<br />
</span></p>
<p><span style="font-size:10pt">Section         名称         说明<br />
</span></p>
<p><span style="font-size:10pt">l         本地文档         与本特定系统有关的<br />
</span></p>
<p><span style="font-size:10pt">1         用户命令         可由任何人启动的<br />
</span></p>
<p><span style="font-size:10pt">2         系统调用         即由内核提供的函数<br />
</span></p>
<p><span style="font-size:10pt">3         例程         即库函数<br />
</span></p>
<p><span style="font-size:10pt">4         设备         即/dev目录下的特殊文件<br />
</span></p>
<p><span style="font-size:10pt">5         文件格式描述         例如/etc/passwd<br />
</span></p>
<p><span style="font-size:10pt">6         游戏         不用解释啦<br />
</span></p>
<p><span style="font-size:10pt">7         杂项         例如宏命令包、惯例等<br />
</span></p>
<p><span style="font-size:10pt">8         系统管理员工具         只能由root启动<br />
</span></p>
<p><span style="font-size:10pt">9         其他（Linux特定的）         用来存放内核例行程序的文档<br />
</span></p>
<p><span style="font-size:10pt">n         新文档         可能要移到更适合的领域<br />
</span></p>
<p><span style="font-size:10pt">o         老文档         可能会在一段期限内保留<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt">MKDIR(1)表示该命令属于Section 1，为用户命令，类似的man<br />
</span></p>
<p><span style="font-size:10pt">apt-get会看到APT-GET(8)，表示apt-get命令为系统管理工具。<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt">&#8220;NAME&#8221;部分是该命令的名字和简单的解释，显然，在命令行中要执行该命令要使用到它的名称。<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt">&#8220;SNOPSIS&#8221;是摘要部分，简要解释该命令如何使用，比如mkdir的摘要：<br />
</span></p>
<p><span style="font-size:10pt">mkdir [OPTION] DIRECTORY…，读到这里便需要讲解一下了：<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt">&#8220;OPTIONS&#8221;左右有&#8221;["和"]&#8220;，表示这些参数并不必须，但是可以使用。对应的DIRECTORY两边没有&#8221;[]&#8220;，就是必须要加的参数了。<br />
</span></p>
<p><span style="font-size:10pt">另外，它们后面都有&#8221;…&#8221; ，表示这些参数可以重复使用多次。至于OPTIONS具体怎么用，就要看DESCRIPTION部分了。下面举几个简单的例子，并配合例子解释：<br />
</span></p>
<p><span style="font-size:10pt">用法         解释<br />
</span></p>
<p><span style="font-size:10pt">mkdir tmp         创建 tmp 目录<br />
</span></p>
<p><span style="font-size:10pt">mkdir –mode=a+w tmp         创建一个模式为&#8221;a+w&#8221;的tmp目录，–mode是长参数，用法是–mode=MODE，在DESCRIPTION里说明<br />
</span></p>
<p><span style="font-size:10pt">mkdir -m a+w tmp         创建一个模式为&#8221;a+w&#8221;的tmp目录，-m 是短参数，不用加 = 号，效果等同 –mode=MODE<br />
</span></p>
<p><span style="font-size:10pt">mkdir -mv a+w tmp         创建一个模式为&#8221;a+w&#8221;的tmp目录，同时显示信息，verbose模式，-mv可以一起用<br />
</span></p>
<p><span style="font-size:10pt">mkdir -v -m a+w tmp         创建一个模式为&#8221;a+w&#8221;的tmp目录，同时显示信息，verbose模式，-v后面接一个空格再用-m<br />
</span></p>
<p><span style="font-size:10pt">3 man手册页的操作<br />
</span></p>
<p><span style="font-size:10pt">3.1 退出man<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt">最简单，按下&#8221;q&#8221;键<br />
</span></p>
<p><span style="font-size:10pt">3.2 查找<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt">如果你知道要打开的手册页，在man命令打开的手册页中可以用<br />
</span></p>
<p><span style="font-size:10pt">&#8220;/&#8221; 键进行正则表达式的搜索。<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt">如果不知道所要打开的手册页名称，可以用 &#8220;man<br />
</span></p>
<p><span style="font-size:10pt">-k&#8221;命令搜索相关的手册页，比如：<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt">man -k postscript<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt">会给出一堆关于&#8221;postscript&#8221;的相关命令页。<br />
</span></p>
<p><span style="font-size:10pt">3.3 打印<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt">最简单的办法，以mkdir为例：<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt">man -t mkdir &gt; mkdir_man.ps<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt">可以直接打印ps，打算发给别人打印的话，转换成pdf也比较方便：<br />
</span></p>
<p> <br />
 </p>
<p><span style="font-size:10pt">ps2pdf mkdir_man.ps mkdir_man.pdf<br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://zealot.hitidea.org/2008/10/30/linux-%e5%85%a5%e9%97%a8%ef%bc%9a%e9%98%85%e8%af%bbman%e6%89%8b%e5%86%8c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
