<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[那 天]]></title> 
<link>http://www.win3c.com/blog/index.php</link> 
<description><![CDATA[幸福不在远方，开一扇窗，许下愿望，你会感受爱、感受恨、感受原谅，生命总不会只充满悲伤！]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[那 天]]></copyright>
<item>
<link>http://www.win3c.com/blog/sedstudy/</link>
<title><![CDATA[sed学习]]></title> 
<author>thatday &lt;win3c@126.com&gt;</author>
<category><![CDATA[linux shell]]></category>
<pubDate>Tue, 30 Dec 2008 02:24:28 +0000</pubDate> 
<guid>http://www.win3c.com/blog/sedstudy/</guid> 
<description>
<![CDATA[ 
	sed缓冲区<br/>sed 处理文件时，会把文件的每一行保存在一个临时缓冲区，即模式空间。<br/>sed处理完一行后，该模式空间就被清空，下一行等待处理。因此可把模式空间内容用命令h复制并<br/>保存在一个暂存缓冲区(holding buffer)内，然后可用命令G把它从暂存缓冲区读出一行，并放回模式空间缓冲区，<br/>追加在模式空间内当前行的后面。<br/>1. sed '/north/p' datafile<br/>缺省情况下，sed会把输入的所有行都打印在标准输出上;如果某行匹配了north,则sed将该行再打印一遍。<br/><br/>2. sed -n '/north/p' datafile<br/>只打印匹配north的行.<br/><br/>3.删除d<br/>sed '3d' datafile&nbsp;&nbsp; 删除第3行<br/>sed '3,$d' datafile&nbsp;&nbsp;删除从第3行到结束<br/>sed '$d' datafile&nbsp;&nbsp;删除最后一行<br/>sed '/north/d' file&nbsp;&nbsp;删除匹配north的行<br/><br/>4.替换命令s<br/>sed 's/west/north/g' datafile 全局替换<br/>sed 's/[0-9][0-9]$/&.5/g' datafile<br/>所有以两位数字结尾的行，后面加上.5(点5)<br/><br/>sed -n 's/&#92;(Mar&#92;)got/&#92;1lianne/p' datafile<br/>Mar作为标签1,将Margot 替换成Marianne<br/><br/>sed 's#3#88#g' datafile等价于 sed 's/3/88/g' datafile<br/><br/>指定行范围：逗号<br/>sed -n '/west/,/east/p' datafile 指定在模式west和east之间的行，打印<br/>sed -n '5,/^northeast/p' datafile 打印从第5行到第一个以northeast开头的行之间的所有行<br/>sed '/west/,/east/s/$/**VACA**/' datafile修改从模式east和west之间的所有行，并将行尾$替换成**VACA**<br/><br/>多重编辑e<br/>sed -e '1,3d' -e 's/Mike/Jones/' datafile<br/>删除1到3行，然后再替换Mike为Jones(先全部执行完第一重编辑，再进行第二重编辑)<br/><br/>读入r<br/>sed '/suan/r newfile' datafile<br/>如果文件datafile中某一行匹配到模式suan，则在该行后读入newfile的内容。<br/><br/>写文件w<br/>sed -n '/north/w newfile' datafile<br/>如果文件datafile中某一行匹配到模式north，则把该行写入newfile文件中<br/><br/>追加<br/>sed '/^north /a&#92;&#92;<br/>----->THE NORTH SALES<------<br/><br/>插入<br/>sed '/eastern/i&#92;&#92;<br/>NEW ENGLAND REGION&#92;&#92;<br/>----------------' datafile<br/>下一行命令n<br/>sed '/eastern/&#123;n;s/AM/Archie/;&#125;' datafile<br/>如果某一行匹配到模式eastern,&nbsp;&nbsp;命令n指示sed用下一输入行，即包含AM的那一行，<br/>替换模式空间中的当前行，并用Archie替换AM，然后打印该行，再继续向下处理<br/><br/>转换y<br/>sed '1,3y/abcdef/ABCDEF/' datafile<br/>&nbsp;&nbsp;把第1到3行中abcedf字母转换成大写字母<br/><br/>退出q<br/>sed '5q' datafile打印5行后退出<br/>sed '/Lewis/&#123;s/Lewid/Joseph/;q;&#125; datafile<br/>&nbsp;&nbsp;某行匹配到Lewis时，先用Joseph替换Lewis，然后立即退出<br/><br/>暂存和取用(h和g命令)<br/>sed -e '/WE/&#123;h;d;&#125;' -e '/CT/&#123;G;&#125;' datafile<br/>找到某一行匹配模式WE，用命令h将该行从模式缓冲区拷贝到一个暂存缓冲区，再用命令d把<br/>该模式空间缓冲区那份拷贝删除。找到模式CT后，再用G命令取出保存在暂存缓冲区中的副本，<br/>用其替换模式空间当前行。<br/><br/>暂存和互换命令x<br/>sed -e '/Patricia/h' -e '/Margot/x' datafile<br/>x命令将暂存区的内容和模式空间内的当前行互换<br/>sed脚本编程：把sed组成一个文本文件，执行脚本时，sed 先将输入文件中第一行拷贝到模式缓冲区<br/>，然后执行脚本中的所有命令;每行处理完毕后，sed再拷贝文件中下一行到模式缓冲区，<br/>执行脚本中的所有命令。<br/>如：<br/>/Lewis/a&#92;<br/>&nbsp;&nbsp;&nbsp;&nbsp; Lewis is TOP salesperson for April!!!&#92;<br/>&nbsp;&nbsp;&nbsp;&nbsp; Lewis is moving to the southern district next month.&#92;<br/>/Margot/c&#92;<br/>&nbsp;&nbsp;&nbsp;&nbsp;********************<br/>&nbsp;&nbsp;&nbsp;&nbsp;MARGOT HAS RETIRED&#92;<br/>&nbsp;&nbsp;&nbsp;&nbsp;********************<br/>/i&#92;<br/>&nbsp;&nbsp; mployer database&#92;<br/>&nbsp;&nbsp; _________________<br/><br/>$d<br/><br/>%sed -f filename datafile<br/>sed -n '/sentimeatal/p' filename<br/>sed '1,3d' filename > newfile<br/>sed '/[Dd]aniel/d' filename<br/>sed -n '15,20p' filename<br/>sed '/1,10s/Montana/MT/g' filename<br/>sed '/March/!d' filename<br/>sed '/March/&#92;!d' filename<br/>sed 's/&#92;([Oo]cuur&#92;)ence/&#92;1rence' file<br/>sed '/^....//' file删除每行前4个字符<br/>sed '/....$//' file删除每行后4个字符<br/>sed '/east/,/west/s/North/South/' filename<br/>把从east到west范围内出现的第一个North替换成South,只一次<br/><br/><br/>sed 's/%//g'&nbsp;&nbsp;把%换成空格<br/><br/>sed 's/^0*//g' 把以0开头的数字换成空格<br/><br/>sed /^$/d 　删除空行<br/><br/>sed $d 删除最后一行<br/><br/>sed ld 删除第一行<br/><br/>sed 's/[0-9][0-9]*/&&nbsp;&nbsp;password/g'&nbsp;&nbsp;file.txt&nbsp;&nbsp; 把password连接到
]]>
</description>
</item><item>
<link>http://www.win3c.com/blog/shellif/</link>
<title><![CDATA[Linux SHELL if 命令参数说明]]></title> 
<author>thatday &lt;win3c@126.com&gt;</author>
<category><![CDATA[linux shell]]></category>
<pubDate>Wed, 24 Sep 2008 03:35:47 +0000</pubDate> 
<guid>http://www.win3c.com/blog/shellif/</guid> 
<description>
<![CDATA[ 
	放着备查<br/><br/>–b 当file存在并且是块文件时返回真 <br/>-c 当file存在并且是字符文件时返回真 <br/>-d 当pathname存在并且是一个目录时返回真 <br/>-e 当pathname指定的文件或目录存在时返回真 <br/>-f 当file存在并且是正规文件时返回真 <br/>-g 当由pathname指定的文件或目录存在并且设置了SGID位时返回为真 <br/>-h 当file存在并且是符号链接文件时返回真，该选项在一些老系统上无效 <br/>-k 当由pathname指定的文件或目录存在并且设置了“粘滞”位时返回真 <br/>-p 当file存在并且是命令管道时返回为真 <br/>-r 当由pathname指定的文件或目录存在并且可读时返回为真 <br/>-s 当file存在文件大小大于0时返回真 <br/>-u 当由pathname指定的文件或目录存在并且设置了SUID位时返回真 <br/>-w 当由pathname指定的文件或目录存在并且可执行时返回真。一个目录为了它的内容被访问必然是可执行的。 <br/>-o 当由pathname指定的文件或目录存在并且被子当前进程的有效用户ID所指定的用户拥有时返回真。 <br/>UNIX Shell 里面比较字符写法：<br/><br/>-eq&nbsp;&nbsp; 等于 <br/>-ne&nbsp;&nbsp;&nbsp;&nbsp;不等于 <br/>-gt&nbsp;&nbsp;&nbsp;&nbsp;大于 <br/>-lt&nbsp;&nbsp;&nbsp;&nbsp;小于 <br/>-le&nbsp;&nbsp;&nbsp;&nbsp;小于等于 <br/>-ge&nbsp;&nbsp; 大于等于 <br/>-z&nbsp;&nbsp;&nbsp;&nbsp;空串 <br/>=&nbsp;&nbsp;&nbsp;&nbsp; 两个字符相等 <br/>!=&nbsp;&nbsp;&nbsp;&nbsp;两个字符不等 <br/>-n&nbsp;&nbsp;&nbsp;&nbsp;非空串<br/>zz from http://blog.penner.cn/2007/03/25/linux-shell-if.html<br/>Tags - <a href="http://www.win3c.com/blog/tags/shell/" rel="tag">shell</a> , <a href="http://www.win3c.com/blog/tags/if/" rel="tag">if</a>
]]>
</description>
</item><item>
<link>http://www.win3c.com/blog/food/</link>
<title><![CDATA[食物相冲相忌表]]></title> 
<author>thatday &lt;win3c@126.com&gt;</author>
<category><![CDATA[生活随笔]]></category>
<pubDate>Sat, 30 Aug 2008 10:28:39 +0000</pubDate> 
<guid>http://www.win3c.com/blog/food/</guid> 
<description>
<![CDATA[ 
	食物相冲相忌表：其一 食物相忌歌谣<br/>猪肉菱角同食会肝痛，豆浆营养不宜冲鸡蛋；<br/>鸡肉芹菜相忌伤元气，洋葱蜜蜂相遇伤眼睛；<br/>牛肉栗子食后会呕吐，萝卜木耳成双生皮炎；<br/>羊肉西瓜相会是互侵，豆腐蜂蜜相拌耳失聪；<br/>兔肉芹菜同食伤头发，菠菜豆腐色美实不宜；<br/>鹅肉鸡蛋同桌损脾胃，胡萝卜白萝卜相互冲；<br/>狗肉如遇绿豆会伤身，番茄黄瓜不能一起食；<br/>黄鳝皮蛋不可同道行，黄瓜进食之后忌花生；<br/>鲤鱼甘草加之将有害，萝卜水果不利甲状腺；<br/>蟹与柿子结伴会中毒，香蕉芋芨入胃酸胀痛；<br/>甲鱼黄鳝与蟹孕妇忌，马铃薯香蕉面部起斑；<br/>鸡蛋再吃消炎片相冲，牛肉橄榄食后涨肚子；<br/>柿子红薯搭配结石生。 <br/><br/>食物相冲相忌表：其二 21种食物不能一起吃<br/>1.猪肉菱角若共食,肚子疼痛不好受.<br/>2.牛肉栗子一起吃,食后就会发呕吐.<br/>3.羊肉滋补大有用,若遇西瓜定相侵.<br/>4.狗肉滋补需注意,若遇绿豆定伤身.<br/>5.兔肉芹菜本不合,同食之后头发脱.<br/>6.鸡肉芹菜也相忌,同食就会伤元气.<br/>7.鹅肉鸡蛋不同窝,一同入胃伤身体.<br/>8.鲤鱼甘草性相反,兼食而之定伤身.<br/>9.黄鳝皮蛋皆佳肴,不可同桌结伴行.<br/>10.鸡蛋若遇消炎片,同室操戈两相争.<br/>11.鸡蛋糖精更相克,同食中毒更伤身.<br/>12.柿子红薯若同吃,体内结石易形成.<br/>13.柿子螃蟹也相背,同食之后会腹泻.<br/>14.柿子白酒更不合,食后使你心发闷.<br/>15.豆腐蜂蜜伴着吃,味道虽好耳要聋.<br/>16.洋葱蜂蜜也不合,同食就会伤眼睛.<br/>17.香蕉芋头本不合,同时入胃腹胀痛.<br/>18.香蕉相克马铃薯,同食面部要起斑.<br/>19.黄瓜生熟都可以,进食之际忌花生.<br/>20.萝卜木耳不同食,食了容易生皮炎.<br/>21.萝卜水果更相背,甲状腺肿会诱发.<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/>鲤鱼和甘草——会中毒<br/>鲫鱼和芥菜——极易导致水肿<br/><br/>白酒和柿子——会胸闷<br/>白萝卜与柿子——极易诱发甲状腺肿病<br/>糖精（片）和鸡蛋——会中毒、重则死亡 <br/>红塘和皮蛋——会中毒<br/>马铃薯和香蕉——面部生斑 <br/><br/>食物相冲相忌表：日常食物禁忌表<br/>糯米<br/>（1）不宜食用冷指来水所煮的饭 <br/>（2）不宜常吃剩油炒饭 <br/><br/>高梁 <br/>（1）不宜常吃加热后放置的高粱米饭或煮剩的高梁米饭<br/>（2）不宜加碱煮食<br/><br/>黄豆<br/>（1）不宜多食炒熟的黄豆<br/>（2）对黄豆过敏者不宜食用<br/>（3）服用四环素类药物时不宜食用<br/>（4）服用红霉素、灭滴灵、甲氰咪胍时不宜食用<br/>（5）服用左旋多巴时不宜食用<br/>（6）不宜煮食时加碱<br/>（7）食用时不宜加热时间过长<br/>（8）服用铁制剂时不宜食用<br/>（9）服氨茶碱等茶碱类药时不宜食用<br/>（10）不宜与猪血、蕨菜同食<br/>（11）不宜多食<br/><br/>豆浆<br/>（1）饮用时加热时间不宜过短<br/>（2）不易和鸡蛋同时煮食<br/>（3）豆浆不易加红糖饮用<br/>（4）暖水瓶装豆浆不宜饮用<br/>（5）喝豆浆时不宜食红薯或橘子<br/>（6）不宜多饮<br/><br/>绿豆<br/>（1）服温热药物时不宜食用<br/>（2）服用四环素类药物时不宜食用<br/>（3）服甲氰咪胍、灭滴灵、红霉素时不宜食用<br/>（4）服用铁制时不宜食用<br/>（5）煮食时不宜加碱<br/>（6）老人、病后体虚者不宜食用<br/>（7）不宜与狗肉、榧子同食。<br/><br/>红豆<br/>（1）忌与米同煮，食之发口疮<br/>（2）不宜与羊肉同食<br/>（3）蛇咬伤，忌食百日<br/>（4）多尿者忌用.<br/><br/>食物相冲相忌表：油类<br/>猪脂<br/>（1）服降压药及降血脂药时不宜食用<br/>（2）不宜用大火煎熬后食用<br/>（3）不宜久贮后食用<br/>（4）不宜食用反复煎炸食物的猪油<br/><br/>菜籽油<br/>（1）菜籽油经高温处理后贮存<br/>（2）带有蛤喇的菜籽油不应食用 <br/><br/>食物相冲相忌表：肉鱼类<br/>猪肉<br/>（1）不宜食用未摘除甲状腺的猪肉<br/>（2）服降压药和降血脂药时不宜多食<br/>（3）禁忌食用猪油渣<br/>（4）小儿不宜多食<br/>（5）不宜在刚屠后煮食<br/>（6）未剔除肾上腺和病变的淋巴结时不宜食用<br/>（7）老人不宜多食瘦肉<br/>（8）食用前不宜用热水浸泡<br/>（9）在烧煮过程中忌加冷水<br/>（10）不宜多食煎炸咸肉<br/>（11）不宜多食加硝腌制之猪肉<br/>（12）不宜多食食午餐肉<br/>（13）不宜多食肥肉<br/>（14）忌与鹌鹑同食,同食令人面黑<br/>（15）忌与鸽肉、鲫鱼、虾同食,同食令人滞气<br/>（16）忌与荞麦同食,同食令人落毛发<br/>（17）忌与菱角、黄豆、蕨菜、桔梗、乌梅、百合、巴豆、大黄、黄连、苍术、芜荽同食<br/>（18）忌与牛肉、驴肉（易致腹泻）、羊肝同食。<br/>（19）服磺胺类药物时不宜多食<br/><br/>猪肝 <br/>（1）忌与荞麦、黄豆、豆腐同食,同食发痼疾 <br/>（2）忌与鱼肉同食,否则令人伤神<br/>（3）忌与雀肉、山鸡、鹌鹑肉同食<br/><br/>猪血 <br/>（1）忌黄豆,同食令人气滞<br/>（2）忌地黄、何首乌 <br/><br/>羊肉<br/>（1）不宜多食烤羊肉串<br/>（2）不宜食用反复剩热或冻藏加温的羊肉<br/>（3）有内热者不宜应多食<br/>（4）服用泻下药峻泻后不宜食用<br/>（5）不宜食用未摘降除甲状腺的羊肉<br/>（6）不宜与乳酪同食<br/>（7）不宜与豆酱、醋同食<br/>（8）不宜与荞麦同食<br/>（9）服用中药半夏、菖蒲时禁忌食用<br/>（10）烧焦了的羊不应食用<br/>（11）未完全烧熟或未炒熟后不宜食用<br/>（12）不宜用不适当的烹制方法烹制食用<br/><br/>羊肝 <br/>（1）忌与生椒、梅、赤豆、苦笋、猪肉同食<br/>（2）不宜与富含维生素C的蔬菜同食<br/><br/>狗肉<br/>（1）小儿禁忌多食<br/>（2）不宜食用甲状腺未摘除的狗肉<br/>（3）食大蒜及服商陆、杏仁时禁忌食用<br/>（4）不宜食用剩热或冷藏加工之品<br/>（5）不宜与鲤鱼同时食用<br/>（6）不宜与大蒜同时食用<br/>（7）食后不宜饮茶 <br/><br/>牛肉<br/>（1）不宜食用反复剩热或冷藏加温的牛肉食品<br/>（2）内热盛者禁忌食用<br/>（3）不宜食用熏、烤、腌制之品<br/>（4）不宜用不适当烹制方法烹制食用<br/>（5）不宜食用未摘除甲状腺的牛肉<br/>（6）不宜使用炒其它肉食后未清洗的炒菜锅炒食牛肉<br/>（7）与猪肉、白酒、韭菜、薤（小蒜）、生姜同食易致牙龈炎症<br/>（8）与栗子不宜同食<br/>（9）不宜与牛膝、仙茅同用<br/>（10）服氨茶碱时禁忌食用<br/><br/>牛肝 <br/>（1）忌鲍鱼、鲇鱼<br/>（2）不宜与富含维生素C的食物同食<br/><br/>鸡肉<br/>（1）食时不应饮汤弃肉<br/>（2）禁忌食用多龄鸡头<br/>（3）禁忌食用鸡臀尖<br/>（4）不宜与兔肉同时食用<br/>（5）不宜与鲤鱼同时食用<br/>（6）不宜与大蒜同时食用<br/>（7）服用左旋多巴时不宜食用<br/>（8）服用铁制剂时不宜食用<br/><br/>鸭肉 <br/>（1）反木耳、胡桃 <br/>（2）不宜与鳖肉同食，同食令人阴盛阳虚，水肿泄泻<br/><br/>驴肉<br/>（1）忌荆芥<br/>（2）不宜与猪肉同食，否则易致腹泻<br/><br/>马肉<br/>（1）不宜与大米（粳米）、猪肉同食<br/>（2）忌生姜、苍耳<br/><br/>鹅肉 <br/>不宜与鸭梨同吃。<br/><br/><br/><br/>鹿肉 <br/>不宜与雉鸡、鱼虾、蒲白同食<br/><br/>雀肉<br/>（1）春夏不宜食，冬三月为食雀季节<br/>（2）不宜与猪肝、牛肉、羊肉同食<br/>（3）忌李子、白术<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/>（1）脊上两筋及黑血不可食用<br/>（2）服用中药天门冬时不宜食用<br/>（3）不宜久食久反复剩热或反复冻藏加温之品<br/>（4）不宜食用烧焦提鱼肉<br/>（5）不宜与狗肉同时食用<br/>（6）不宜与小豆藿同时食用<br/>（7）不宜与赤小豆同时食用<br/>（8）不宜与咸菜同时食用<br/>（9）不宜与麦冬、紫苏、龙骨、朱砂同时食用<br/><br/>带鱼<br/>（1）带鱼过敏者不宜食用<br/>（2）服异烟肼时不宜食用<br/>（3）身体肥胖者不宜多食<br/><br/>蟹<br/>（1）不宜食用死螃蟹<br/>（2）不应食用生蟹<br/>（3）不应食用螃蟹的鳃及胃、心、肠等脏器<br/>（4）不宜食用隔夜的剩蟹<br/>（5）不宜与柿子同时食用<br/>（6）服用东莨菪碱药物时不宜食用<br/>（7）寒凝血瘀性疾病患者不应食用<br/>（8）服用中药荆芥时不宜食用<br/>（9）不宜与梨同时食用<br/>（10）不宜与花生仁同时食用<br/>（11）不宜与泥鳅同时食用<br/>（12）不宜与香瓜同时食用<br/>（13）不宜与冰水、冰棒、冰淇淋同时食用 <br/><br/><br/><br/>田螺<br/>（1）服用左旋多巴时不宜食用<br/>（2）不宜和石榴、葡萄、青果、柿子等水果一起食用<br/>（3）不宜与猪肉同时食用<br/>（4）不宜与木耳同时食用<br/>（5）不宜与蛤同时食用<br/>（6）不宜与香瓜同时食用<br/>（7）不宜与冰同时食用<br/><br/>虾<br/>（1）严禁同时服用大量维生素C。否则，可生成三价砷，能致死<br/>（2）不宜与猪肉同食，损精<br/>（3）忌与狗、鸡肉同食<br/>（4）忌糖 <br/><br/>泥鳅<br/>不宜与狗肉同食。<br/><br/>海带<br/>不宜与甘草同食。<br/><br/><br/>鲫鱼<br/>（1）不宜与芥菜、猪肝、猪肉、蒜、鸡肉、鹿肉等同食<br/>（2）忌山药、厚朴、麦冬、甘草<br/><br/>鳖肉<br/>（1）忌猪肉、兔肉、鸭蛋、苋菜<br/>（2）忌与薄荷同煮<br/>（3）忌与鸭肉同食，久食令人阴盛阳虚，水肿泄泻。<br/><br/>黄花鱼<br/>（1）忌用牛、羊油煎炸；<br/>（2）反荆芥。<br/><br/>龟肉<br/>不宜与酒、果、瓜、猪肉、苋菜同食。<br/><br/>蜗牛<br/>忌蝎子。<br/><br/>鲶鱼<br/>（1）不宜与牛肝同食<br/>（2）忌用牛、羊油煎炸<br/>（3）不可与荆芥同用<br/><br/>鳝鱼<br/>（1）忌狗血、狗肉，同食助热动风<br/>（2）忌荆芥，同食令人吐血<br/>（3）青色鳝鱼有毒，黄色无毒。有毒鳝鱼一次吃250克，可致死。<br/><br/>海鳗鱼<br/>不宜与白果、甘草同食。<br/><br/>青鱼<br/>（1）忌用牛、羊油煎炸<br/>（2）不可与荆芥、白术、苍术同食<br/><br/>牡蛎肉<br/>不宜与糖同食。<br/><br/>食物相冲相忌表：蛋奶类<br/>鸡蛋<br/>（1）不宜食用生鸡蛋<br/>（2）食用加热时间不宜过长<br/>（3）不宜用豆浆冲鸡蛋食用<br/>（4）不宜多食<br/>（5）保存鸡蛋时不宜横放<br/>（6）脏鸡蛋不宜用清水冲洗<br/>（7）煮熟的鸡蛋不宜用冷水冷却<br/>（8）服用氨茶碱类药物时不宜多食鸡蛋<br/>（9）炒鸡蛋时不宜放味精<br/>（10）不宜与甲鱼同时食用<br/>（11）不宜食用死胎蛋<br/>（20）服磺胺类药物和碳酸氢钠时不宜食用<br/>（13）宿食积滞者不宜食用<br/>（14）服用左旋多巴时不宜多食<br/>（15）不宜偏食红皮鸡蛋<br/>（16）禁忌食用臭鸡蛋<br/>（17）不宜与兔肉同时食用<br/>（18）不宜与鲤鱼同时食用<br/>（19）不宜与生葱、蒜同时食用<br/>（20）不宜与豆浆同时食用<br/><br/>皮蛋（松花蛋）<br/>（1）食用皮蛋时宜加醋<br/>（2）不宜多食松花蛋<br/><br/>牛奶<br/>（1）吃橘子时不宜喝牛奶<br/>（2）易困倦者不宜饮用牛奶<br/>（3）牛奶忌饮用过量<br/>（4）空腹时不宜饮用<br/>（5）不宜早晨饮用<br/>（6）不宜久煮或冰冻后饮用<br/>（7）不宜用文火煮食<br/>（8）不宜不加糖饮用<br/>（9）牛奶中加糖不应过量<br/>（10）牛奶中加糖不应过少<br/>（11）牛奶不应和糖同煮<br/>（12）牛奶不应加红糖饮用<br/>（13）铅作业者不应饮用牛奶<br/>（14）对牛奶过敏者不宜饮用<br/>（15）不耐受牛奶的人不宜饮用<br/>（16）夏季不应饮用冷牛奶<br/>（17）回潮变硬的奶粉不宜食用<br/>（18）不宜长时间用保温瓶装牛奶<br/>（19）牛奶与巧克力糖不宜同时食用<br/>（20）牛奶有沉淀物时禁忌食用<br/>（21）不宜冰冻保存后食用<br/>（22）食用牛奶中不应加钙粉<br/>（23）不宜与豆浆同煮<br/>（24）不宜用塑料容器或玻璃容器装牛奶<br/>（25）服用红霉素、灭滴灵、甲氰咪胍及四环素类药物时不宜饮用<br/>（26）服用丹参片时不宜饮用牛奶<br/>（27）喂婴幼儿不应用掺水牛奶<br/>（28）喂养婴幼儿不宜单用牛奶<br/>（29）不宜用牛奶加米汤喂婴幼儿<br/><br/>酸牛奶<br/>（1）忌加热后食用<br/>（2）服磺胺类药及碳酸氢钠时禁忌饮用 <br/><br/>食物相冲相忌表：水果类<br/>苹果<br/>（1）不宜食用过多<br/>（2）不宜与萝卜同时食用<br/>（3）服磺胺类药物和碳酸氢钠时不宜食用<br/>（4）不宜与海味同食（海味与含有鞣酸的水果同吃，则易引起腹痛、恶心、呕吐等）<br/><br/>梨<br/>（1）服用糖皮质激素后不宜食用<br/>（2）复磺胺类药物和碳酸氢钠时不宜食用<br/>（3）不宜与鹅肉、蟹同食<br/>（4）不宜食后饮开水 （易致腹泻）<br/>（5）忌多吃<br/>（6）忌与油腻、冷热之物杂食<br/><br/>桃<br/>（1）不应食用两仁的桃<br/>（2）食用龟肉、鳖肉及服中药白术时不宜食用<br/>（3）服用退热净、阿司匹林、布洛芬时不宜食用<br/>（4）服用糖皮质激素时不应食用<br/><br/>李子<br/>（1）服中药白术时不应食用 <br/>（2）体虚、久病者不宜多食<br/>（3）服磺胺类药物时不宜食用<br/>（4）不宜与鸡蛋同食<br/>（5）不宜与青鱼同食<br/>（6）不宜与蜂蜜同食<br/>（7）不宜与雀肉同食<br/><br/>荔枝<br/>（1）不宜多食<br/>（2）服维生素K时不宜食用<br/>（3）不宜和动物肝脏同时食用<br/>（4）不宜与胡萝卜及黄瓜同时食用<br/>（5）服阿司匹林、异烟肼、布洛芬、退热净等药时不宜食用<br/>（6）服苦味健胃药时不宜食用<br/><br/>枣<br/>（1）腐烂变质的枣忌食用<br/>（2）服用维生素K时禁忌食用<br/>（3）不应和黄瓜或萝卜一起食用<br/>（4）不应和动物肝脏同时食用<br/>（5）不可与海鲜同食，否则令人腰腹疼痛<br/>（6）不可与葱同食，否则令人脏腑不合，头胀<br/>（7）服用退热净、布洛芬等药时禁忌食用<br/>（8）服苦味健胃药及驱风健胃药时不应食用<br/><br/>香蕉<br/>（1）服用痢特灵、甲基苄肼、优降宁、苯乙肼时不宜食用<br/>（2）服安体舒通、氨苯蝶啶和补钾药时不宜食用<br/>（3）不宜空腹食用<br/>（4）服红霉素、甲氰咪呱、灭滴灵时不宜食用<br/>（5）不宜与白薯同食 <br/><br/>瓜子<br/>（1）多味葵花籽不宜多食<br/>（2）育龄青年不宜多食（能引起睾丸萎缩）<br/><br/>菠萝<br/>（1）未作加工处理者不宜食用<br/>（2）对菠萝过敏者不宜食用<br/>（3）不宜与萝卜一起食用<br/>（4）服用铁制剂时不宜食用<br/>（5）不宜与蛋白质丰富的牛奶、鸡蛋同时食用<br/>（6）服用四环素类药物及红霉素、灭滴灵、甲氰咪呱时不宜食用<br/>（7）服用维生素K及磺胺类药物时节不宜食用<br/><br/>桔子 <br/>（1）忌与萝卜同食，同食诱发甲状腺肿 <br/>（2）忌与牛奶、蟹、蛤同食<br/><br/>葡萄 <br/>（1）不宜与海鲜类、鱼类同食 <br/>（2）服人参者忌用<br/>（3）忌铁器<br/>（4）忌和四环素同吃。<br/><br/>柿子 <br/>（1）忌与蟹、水獭肉同食，同食腹痛、大泻<br/>（2）忌与红薯、酒同食<br/><br/>杨梅<br/>（1）忌生葱<br/>（2）不宜与羊肛，鳗鱼同食<br/><br/>杏<br/>忌与小米同食，否则令人呕泻。<br/><br/>芒果 <br/>忌与大蒜等辛物同食。 <br/><br/>银杏（白果） <br/>（1）严禁多吃，婴儿吃10颗左右可致命，三、五岁小儿吃30~40颗可致命<br/>（2）不可与鱼同吃，同食则产生不利于人体的生化反应，小儿尤忌。<br/><br/>食物相冲相忌表：饮品<br/>水<br/>（1）饭前饭后不宜多饮<br/>（2）不宜在大渴后痛饮<br/>（3）炉灶中反复煮沸及煮沸久的水不宜饮用<br/>（4）开水锅炉中隔夜重煮或未重煮的开水不宜饮用<br/>（5）蒸饭后的蒸锅水不宜饮用<br/>（6）不宜用冷水煮饭<br/>（7）长期用嗓后不应饮冷饮<br/><br/>茶叶<br/>（1）服用中药威灵仙、土茯苓时禁忌饮茶<br/>（2）空腹时不宜饮用<br/>（3）不宜在吃饭前后饮茶<br/>（4）哺乳期的妇女不应饮用浓茶<br/>（5）隔夜残茶不宜饮用<br/>（6）不宜用茶水煮鸡蛋食用<br/>（7）长期不刷牙的人不宜饮茶<br/>（8）茶叶不宜久放后饮用<br/>（9）第一杯茶水不宜饮用<br/>（10）不宜用保温瓶或杯沏茶饮用<br/>（11）不宜饮用浸泡过久的茶水<br/>（12）饮茶不宜过量<br/>（13）不宜煮茶水饮用<br/>（14）不宜嚼食未泡过的茶叶<br/>（15）饮用新茶不宜过浓<br/>（16）不宜用滚开水泡茶<br/>（17）有焦味的茶叶不应饮用<br/>（18）服用含金离子的药物时不宜饮茶<br/>（19）服酶制剂时禁忌饮茶<br/>（20）服抗生素时不应用茶送服<br/>（21）服用碳酸氢钠时不应饮茶<br/>（22）服用洋地黄、洋地黄甙片及地高辛等强心药时不应饮茶<br/>（23）服用潘生丁药时禁忌饮茶<br/>（24）服用镇静、催眠药物时不应饮茶<br/>（25）服用单胺氧化酶抑制剂时不应饮茶水<br/>（26）服用维生素B1及利福平时不宜饮用<br/>（27）儿童禁忌饮茶<br/>（28）饮酒后不宜饮浓茶，加重心肾损害<br/>（29）吃狗肉后忌喝茶<br/>（30）喝茶水不宜加白糖<br/>（31）饮茶后不宜吃四环素类药物、奎宁 <br/><br/>酒<br/>（1）乳母不宜饮用<br/>（2）孕妇不宜饮用<br/>（3）无症状澳抗携带者不应饮用<br/>（4）未成年人不应饮酒<br/>（5）空腹时不应饮酒<br/>（6）育龄青年不应饮用<br/>（7）洗澡前不应饮酒<br/>（8）维生素B1及维生素B2缺乏的人不宜饮酒<br/>（9）不宜饮酒取暖<br/>（10）冬泳前后不宜饮酒<br/>（11）施家药前后禁忌饮酒<br/>（12）饮酒时不应吸烟<br/>（13）临睡前不应饮酒<br/>（14）不宜饮用混合酒<br/>（15）不宜与咖啡同时饮用<br/>（16）酒后不宜大量饮浓茶水<br/>（17）刚酿的白酒不应饮用<br/>（18）瓶装酒不宜久存<br/>（19）塑料桶不宜贮存酒<br/>（20）不宜用锡壶盛酒<br/>（21）不宜用热水瓶或旅行水壶装酒饮用<br/>（22）忌长期饮用<br/>（23）精神受刺激时不应多饮酒<br/>（24）服用抗心绞痛药物时不应饮酒<br/>（25）服用降压药时不应饮酒<br/>（26）服用痢特灵、甲基苄肼、苯乙肼时禁忌饮酒<br/>（27）服用镇静安定药物时禁忌饮酒<br/>（28）服用降血糖药时禁忌饮酒<br/>（29）服用止血药时不应饮用<br/>（30）服用水杨酸类药物时不宜饮用<br/>（31）服用利尿药物时不宜饮用<br/>（32）服用利福平、红霉素和抗血吸虫药硝硫氰时不宜饮用<br/>（33）饮酒后不宜吃柿子<br/>（34）饮酒后不宜同食牛肉<br/>（35）饮酒后忌喝牛奶<br/>（36）饮酒后忌食糖<br/>（37）酒后忌食辣物及芥末<br/><br/>啤酒<br/>（1）患慢性病的人不宜饮用<br/>（2）胖人不宜多饮常饮<br/>（3）不宜与白酒同时饮用<br/>（4）不应兑汽水饮用<br/>（5）不应用保温瓶装啤酒<br/>（6）服用甲基苄肼、苯乙肼时不宜饮用<br/>（7）饭前不应饮用冰镇啤酒<br/>（8）不宜饮用久存的啤酒<br/>（9）剧烈运动后禁忌饮啤酒<br/>（10）不宜同食腌熏食品<br/>（11）不宜用水垢的容器装啤酒<br/>（12）老年人不宜常饮、多饮<br/><br/>咖啡<br/>（1）不宜与酒同时饮用<br/>（2）小儿不宜饮用<br/>（3）喝咖啡不宜吸烟<br/>（4）不宜长期饮用咖啡<br/>（5）不宜短时间内大量饮用<br/>（6）孕妇不宜过量饮用咖啡<br/>（7）饮用前不应长时间的煎煮<br/>（8）服单胺氧化酶抑制剂时不应饮用<br/>（9）饮咖啡忌吃多酶片及维生素C <br/><br/>汽水<br/>（1）饱餐后不宜饮用<br/>（2）开盖后放置的汽水不应饮用<br/>（3）吃饭时不宜饮用<br/>（4）饮酒时不宜喝汽水<br/>（5）汽水瓶内、外部不洁或漏水漏气者不宜饮用<br/>（6）商标不全或过期汽水不宜饮用<br/>（7）瓶内有杂质或异色沉淀物的不应饮用<br/>（8）色泽特鲜艳的汽水或异常色泽者不应饮用<br/>（9）不冒气的汽水不应饮用<br/>（10）汽水香气与应具的香型不符或有其它气味者不宜饮用<br/>（11）口感苦涩的汽水不宜饮用<br/>（12）酸性汽水不宜多饮<br/>（13）劳动后不宜大量饮用汽水 <br/><br/>食物相冲相忌表：调味品<br/>葱<br/>（1）不宜与杨梅、蜜糖同食，同食易气壅胸闷<br/>（2）忌枣、常山、地黄<br/><br/>醋<br/>（1）忌丹参、茯苓<br/>（2）不宜与海参、羊肉、奶粉同食<br/>（3）忌壁虎，可致死<br/><br/>糖<br/>（1）忌虾<br/>（2）不可与竹笋同煮<br/>（3）不宜与牛奶、含铜食物同食<br/><br/>蒜 <br/>（1）一般不与补药同服<br/>（2）忌蜜、地黄、何首乌、牡丹皮 <br/><br/>花椒 <br/>忌防风、附子、款冬。 <br/><br/>蜜 <br/>（1）不宜与葱、蒜、韭菜、莴苣、豆腐同食，不然易引起腹泻<br/>（2）忌地黄、何首乌<br/><br/><br/>Tags - <a href="http://www.win3c.com/blog/tags/%25E7%2594%259F%25E6%25B4%25BB/" rel="tag">生活</a> , <a href="http://www.win3c.com/blog/tags/%25E9%25A3%259F%25E7%2589%25A9/" rel="tag">食物</a>
]]>
</description>
</item><item>
<link>http://www.win3c.com/blog/post/43/</link>
<title><![CDATA[apache Rewrite 二级域名设定]]></title> 
<author>thatday &lt;win3c@126.com&gt;</author>
<category><![CDATA[综合知识]]></category>
<pubDate>Mon, 04 Aug 2008 11:50:35 +0000</pubDate> 
<guid>http://www.win3c.com/blog/post/43/</guid> 
<description>
<![CDATA[ 
	在httpd.conf中，对某个主机进行以下操作：<br/><br/><VirtualHost ip:80><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rewriteengine on<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rewritecond %&#123;HTTP_HOST&#125; [^.]+&#92;.域名&#92;.com$<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rewriterule ^(.+) %&#123;HTTP_HOST&#125;$1 [C]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rewriterule ([^.]+)&#92;.域名&#92;.com(.*) /$1$2<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;其他配置文件<br/></VirtualHost><br/><br/>接着在DNS中开设一个泛解析到对应的IP地址。<br/>就可以实现下面的方案。<br/><br/>域名：domain.com<br/>绝对路径：/home/domain.com/<br/>www.domain.com 自动解析到 /home/domain.com/www/<br/>abc.domain.com 自动解析到 /home/domain.com/abc/<br/>等等子域名都可以自动解析到 /home/domains.com/对应子域名名称的文件夹<br/><br/>直接建立子域名名称的文件夹即可使用。不需重启apache。<br/><br/>泛域名解析就是将客户的域名全部解析到同一个IP地址。<br/>例如客户的域名a.com，之下所设的*.a.com全部解析到同一个IP地址上去。<br/>比如客户设b.a.com就会自已自动解析到与a.com同一个IP地址上去。<br/><br/>泛域名是指&nbsp;&nbsp;*&nbsp;&nbsp;IN&nbsp;&nbsp;A&nbsp;&nbsp; 123.123.123.123 或&nbsp;&nbsp;*&nbsp;&nbsp; IN&nbsp;&nbsp;CNAME www.aaa.com<br/><br/>泛域名解析的用途:<br/><br/>1.可以让域名支持无限的子域名(这也是泛域名解析最大的用途)。<br/>2.防止用户错误输入导致的网站不能访问的问题。<br/><br/>在DNS服务器里面设置泛域名解析有2种方式<br/><br/>1. 在域名解析里面设置 *.a.com的A记录或者CName 记录指向某一个IP/服务器名（这种方式 虚拟主机用户是不支持的)<br/>2. 在域名转发里面设置 *.a.com 转发到 http://www.a.com( 虚拟主机可以支持这种转发方式,用户在自己的程序中可以判断访问者要访问的域名),我们会在程序技术文档里面讲解<br/><br/>例子二：<br/>http://www.xuega.com/klein/blog/article_321.html<br/> <br/>实现动态二级域名解析的一个关键就是，把特有的名字怎么能够提出来，因为RewriteRule中的匹配，是不包括域名的匹配的，其实这其中就是一层窗户纸，把域名先重写放到“路径”中，再对“路径”重写一次就可以了，也就是说加一步过渡。这样说大概还一头雾水，给个实例。<br/><br/>首先按我上次写的文章的那个需求写一个，假设动态解析*.iecn.cn。<br/><br/>注意要先做一个所谓的范域名解析，就是说把所有*.iecn.cn解析到某个IP上去，这不是本文章讨论范围就不细说了。<br/><br/>Apache中相关配置如下：<br/><br/><VirtualHost _default_:80><br/>ServerAdmin yourmail@domain.com<br/>DocumentRoot /YourWwwRoot/.default<br/>ServerName all-sites<br/>ErrorLog logs/all-sites-error_log<br/>CustomLog logs/all-sites-access_log common<br/># 下面三行实现动态解析<br/>RewriteCond %&#123;HTTP_HOST&#125; ^[a-z0-9&#92;-]+&#92;.iecn&#92;.cn$<br/>RewriteRule ^/(.*)$ /%&#123;SERVER_NAME&#125;/$1 ##注##<br/>RewriteRule ^/([a-z0-9&#92;-]+)&#92;.iecn&#92;.cn/(.*)$ /YourWwwRoot/$1/$2 [L]<br/># 没有解析到的情况下扔到自己的一个PHP中做一下处理<br/>RewriteRule ^.*$ /index.php [L]<br/></VirtualHost><br/><br/>注意我标注的地方，那一步就是一个过渡，说一下过程吧，假设现在访问：<br/>http://zhong.iecn.cn/xxx<br/>经第一步重写，变成 /zhong.iecn.cn/xxx<br/>经第二步重写就是 /YourWwwRoot/zhong/xxx 了，其他的操作与我行前说的基本就差不多了。<br/><br/>再举一个可能更常见的实例，假设一个博客系统，要求把<br/>http://xxx.iecn.cn<br/>隐式的重写成<br/>http://blog.iecn.cn/blog.php?u=xxx<br/>这里面的xxx可以看做是一个用户名，想必类似这样的需求大家一定都见过很多了，不过多解释了。<br/><br/>同意先做范域名解析这里不多说。在Apache中做如下重写（只写Rewrite部分了）：<br/><br/>RewriteCond %&#123;HTTP_HOST&#125; ^[a-z0-9&#92;-]+&#92;.iecn&#92;.cn$<br/>RewriteRule ^/?$ /%&#123;HTTP_HOST&#125;<br/>RewriteRule ^/([a-z0-9&#92;-]+)&#92;.iecn&#92;.cn/?$ /blog.php?u=$1 [L]<br/><br/>zz from http://blog.iecn.net/blog.php?do=showone&tid=1013<br/><br/><br/>Apache下用rewrite实现任意域名的动态解析<br/><br/>Apache的mod_rewrite模块功能非常强大，我以后会写更多的实例出来。<br/><br/>关于mod_rewrite的使用，不想多说，提供两个相关文档的地址：<br/>http://w.yi.org/ftp/FAPM/apache/Apache2/zh/mod/mod_rewrite.html<br/>http://man.chinaunix.net/newsoft/Apache2.2_chinese_manual/mod/mod_rewrite.html<br/><br/>如果你只是想用一个现成的你可以直接把我的copy过去改改，如果想从技术上搞清楚，那么首先要掌握两方面的技术：<br/>Apache下mod_rewrite的使用（可参照我上面提供的两个地址）<br/>正则表达式（这是一门在很多地方都非常有用的技术）<br/><br/>废话不多说，说一下我在IECN.NET服务器的实际配置。<br/><br/>我习惯使用NameVirtualHost，如果你的服务器中只想用这种动态的解析，直接在配置文件中做是一样的，如果想保留自己一些特殊站点的配置，还是用NameVirtualHost吧。<br/><br/>在Apache中，如果启用了NameVirtualHost，在没有匹配到的解析的情况下，会默认到第一组VirtualHost中，所以我们的动态解析自然是放到第一组VirtualHost（有关apache的一些配置这里就不多说，自己查阅相关文档。），如下：<br/><VirtualHost _default_:80><br/>&nbsp;&nbsp;&nbsp;&nbsp;ServerAdmin yourmail@domain.com<br/>&nbsp;&nbsp;&nbsp;&nbsp;DocumentRoot /YourWwwRoot/.default<br/>&nbsp;&nbsp;&nbsp;&nbsp;ServerName all-sites<br/>&nbsp;&nbsp;&nbsp;&nbsp;ErrorLog logs/all-sites-error_log<br/>&nbsp;&nbsp;&nbsp;&nbsp;CustomLog logs/all-sites-access_log common<br/>&nbsp;&nbsp;&nbsp;&nbsp;# 下面两行实现动态解析<br/>&nbsp;&nbsp;&nbsp;&nbsp;RewriteCond /YourWwwRoot/%&#123;SERVER_NAME&#125; -d<br/>&nbsp;&nbsp;&nbsp;&nbsp;RewriteRule ^/(.*)$ /YourWwwRoot/%&#123;SERVER_NAME&#125;/$1 [L]<br/>&nbsp;&nbsp;&nbsp;&nbsp;# 没有解析到的情况下扔到自己的一个PHP中做一下处理<br/>&nbsp;&nbsp;&nbsp;&nbsp;RewriteRule ^.*$ /index.php [L]<br/></VirtualHost><br/><br/>把YourWwwRoot换成你自己的路径，注意这里的ServerName没有让它起作用，关建看这两行：<br/>RewriteCond /YourWwwRoot/%&#123;SERVER_NAME&#125; -d<br/>RewriteRule ^/(.*)$ /YourWwwRoot/%&#123;SERVER_NAME&#125;/$1 [L]<br/><br/>第一行是一个rewrite条件，这里的条件是：如果存在路径/YourWwwRoot/%&#123;SERVER_NAME&#125;，%&#123;SERVER_NAME&#125;就是你访问站点的域名，-d就表示存在这个路径的意思（如果是文件则是-f）；<br/>第二行是一个rewrite规则，这个规则执行的前提是：符合规则的正则表达式匹配；符合它前面（也就是刚才说的第一行）rewrite条件。这里面是的匹配的是.*，也就是所有了，也就是说只要第一行的条件成立，它就会被重写到/YourWwwRoot/%&#123;SERVER_NAME&#125;/$1，% &#123;SERVER_NAME&#125;是站点的域名，$1则是匹配到的.*。<br/><br/>OK，现在就很清楚了，假设现在有www.domain.com指向到这个服务器，当你访问它时（这里假设没有在其他VirtualHost解析这个域名），看看它是如何工作的：<br/>首先它在没有找到匹配的解析时，就来到了这组默认的VirtualHost；<br/>判断 /YourWwwRoot/www.domain.com 是否存在；<br/>如果存在，重定向到 /YourWwwRoot/www.domain.com。<br/><br/>假设你访问 http://www.domain.com/test.html，就会重定向到系统的 /YourWwwRoot/www.domain.com/test.html。<br/><br/>那也就是说你在 YourWwwRoot 下建一个与域名同名的目录（并具备apache访问的权限），就实现了这个域名的解析。<br/><br/><br/>Tags - <a href="http://www.win3c.com/blog/tags/apache/" rel="tag">apache</a> , <a href="http://www.win3c.com/blog/tags/%25E6%25B3%259B%25E5%259F%259F%25E5%2590%258D/" rel="tag">泛域名</a> , <a href="http://www.win3c.com/blog/tags/rewrite/" rel="tag">rewrite</a>
]]>
</description>
</item><item>
<link>http://www.win3c.com/blog/post/42/</link>
<title><![CDATA[M600i 使用技巧汇总]]></title> 
<author>thatday &lt;win3c@126.com&gt;</author>
<category><![CDATA[生活随笔]]></category>
<pubDate>Thu, 24 Jul 2008 02:27:09 +0000</pubDate> 
<guid>http://www.win3c.com/blog/post/42/</guid> 
<description>
<![CDATA[ 
	<span style="color: #ff0000">M600版本信息查看方法：</span>上*下下*下*&nbsp;&nbsp;-服务信息-软件信息 或直接进入&ldquo;菜单&rdquo;-任选一个&ldquo;图标&rdquo;-&ldquo;更多&rdquo;-&ldquo;系统信息&rdquo;<br /><br /><span style="color: red">键盘输入等号&ldquo;＝&rdquo;：</span>长按OK键的左边<br /><br /><span style="color: red">是和否的选择</span>：当出现提示选择是和否的时候，按Y键代表是，N键代表否<br /><br /><span style="color: red">删除短信</span>：L键旁边的向左指的箭头键按一下，会提示是否删除该条短信，按Y删除，按N不删除<br /><br /><span style="color: red">输入法切换</span>：左下角&ldquo;上&rdquo;键＋&ldquo;0&rdquo;键，同时按，或依次按，在拼音、笔画、英文输入法间循环切换<br /><br /><span style="color: red">插入符号</span>：按住&ldquo;，&rdquo;或者&ldquo;。&rdquo;，会弹出符号对话框<br /><br /><span style="color: red">英文大写</span>：在输入英文时，按一次&rdquo;上&ldquo;，第一个字母大写，两次&rdquo;上&ldquo;，锁定大写，再按解除锁定；数字输入：在输入文本时，按一次&ldquo;ALT&rdquo;，再按相应数字键，可输入一个数字，按两次&rdquo;ALT&rdquo;，锁定输入多个数字，再按解除锁定<br /><br /><span style="color: red">返回桌面</span>：在子菜单视图，按住&ldquo;返回&rdquo;键快速返回待机桌面视图<br /><br /><span style="color: red">手动键盘锁</span>：在待机状态下 长按M600机身左侧的返回键 就可锁定 再长按就解锁了<br /><br /><span style="color: red">静音</span>：按住右下角的&ldquo;右&rdquo;键，开关静音<br /><br /><span style="color: red">语音信箱</span>：按住&ldquo;1&rdquo;键，访问语音信箱<br /><br /><span style="color: red">语音拨号</span>：按住滚轮或&ldquo;OK&rdquo;键，使用语音标签<br /><br /><span style="color: red">通讯录</span>：待机状态下，按住除特殊定义的键（如&ldquo;OK&rdquo;、&ldquo;1&rdquo;和滚轮等）外的其他键，可访问通讯录<br /><br /><span style="color: red">工程模式</span>：滚轮上&gt;*键&gt;滚轮下&gt;滚轮下&gt;*键&gt;滚轮下&gt;*键<br /><br /><span style="color: red">文本选择</span>：使用&ldquo;向上&rdquo;和&ldquo;左&rdquo;&ldquo;右&rdquo;键配合选择要编辑的文本<br /><br /><span style="color: red">Web浏览</span>：打开浏览器后，按Alt＋1新建标签页；按Alt＋2关闭当前标签页；按Alt＋7在多个标签页间切换<br /><br /><span style="color: red">键盘的复制粘贴键</span>：在你编辑短信或是文本的时候，同时按住键盘最下排的 &ldquo;向上&rdquo;和 &ldquo;向左&rdquo;&nbsp;&nbsp;或 &ldquo;向上&rdquo;和 &ldquo;向右&rdquo;&nbsp;&nbsp;键，选中你要复制或剪切的内容！复制长按C 剪切长按X，再长按P键就能复制剪切<br /><br /><span style="color: red">设置短信铃声</span>：点左上角（或者右下的更多）&mdash;音量&mdash;右下的设置&mdash;信息提示&mdash;选择&mdash;信息（点默认音乐右边的箭头向下）&mdash;查找选择你要的声音<br /><br /><span style="color: red">快捷键的图标自由更换</span>：用滚轮选中要更改的图标，点选右下角更多，选择编辑<br /><br /><span style="color: red">更改桌面图标</span>：用滚轮选中要更改的图标，点选右下角更多，选择替换<br /><br /><span style="color: red">更改桌面图标</span>：用滚轮选中要更改的图标，点选右下角更多，选择替换<br /><br /><span style="color: red">M600手写输入</span>：从右至左划&ldquo;一&rdquo;，删除最近输入字；从下至上划&ldquo;l&rdquo;，在中文和英文输入法间切换；(点击已输入字左侧，向右拖动笔，可框选至笔抬起位置的文字，进行删除或编辑；屏幕右侧中间的三角符号为分屏符，虚拟将屏幕分成两个区域，在上半区域书写，被识别为数字，在下半区域或跨两区书写，识别为汉字或英文（取决于所选输入语言）<br /><br /><span style="color: red">M2卡重命名的方法</span>：进入主菜单&mdash;工具&mdash;控制面板&mdash;其他&mdash;格式化记忆棒&mdash;重命名<br /><br /><span style="color: red">M600主题安装</span>：可以用数据线或读卡器把主题文件xxx.utz的放到d:&#92;other目录下,然后手机的文件管理器里其他里打开安装<br /><br /><span style="color: red">M600 GPRS上网设置</span>：工具－控制台－连线－互联网帐户 <br />在帐户选项卡中，选择：更多－新增帐户－数据 <br />帐户名称：中国移动 <br />网址：cmwap <br />其它默认 <br />点击：更多 <br />选择：代理 <br />勾上：使用代理伺服器 <br />代理伺服器地址：010.000.000.172 <br />代理伺服器接口：80 <br />其它默认&nbsp;&nbsp;OK<br /><br /><span style="color: red">M600 彩信设置</span>：工具－控制台－信息设定－MMS帐户 <br />在MMS帐户中： <br />服务中心地址：<a href="http://mmsc.monternet.com/" target="_blank"><span style="color: #93e9ca">http://mmsc.monternet.com</span></a> <br />互联网用户：中国移动（选择刚才刚新建的帐户） <br />自动下载：（随你自己高兴怎么设） <br />下载档案大小：（同上） <br />保存 OK<br /><br /><span style="color: red">M600 接挂电话 非触屏操作</span>：拨打时按完号码后再按OK键即可呼叫<br />自己方拨出电话，通话后想主动挂断，可以连按两下侧键的&ldquo;返回&rdquo;即可挂断。或者按一下&ldquo;滚轮&rdquo;即可挂断（是向里按，不是上下拨）<br />对方拨入电话，接听后，可以按一下&ldquo;滚轮&rdquo;即可挂断（是向里按，不是上下拨）<br />如果对方拨入电话，按一下&ldquo;滚轮&rdquo;即可接听！<br /><br /><span style="color: red">M600关机充电屏幕有亮情况的解决</span>：开机充电 打开节电模式 记得是关闭无线电再充电 屏幕就会黑黑的了 哈哈<br /><br /><span style="color: red">怎样打开很紧的电池后盖</span>：将小6倒置，头部放在柔软的地方，左右手的拇指顶住机器底部，各用三只手指，总共六指向上摩擦<br /><br /><span style="color: red">怎样快速切换输入法</span>：在屏幕上从下向上划<br /><br /><span style="color: red">为什么JAVA不能运行</span>：java安装时的文件名要用全英文，否则不能运行<br /><br /><span style="color: red">去掉待机的&ldquo;今天&rdquo;</span>：待机状态下点 更多--选项<br /><br /><span style="color: red">更换手写时的笔迹颜色</span>：手写输入时：依次点击&nbsp;&nbsp;更多--文本选项--手写设置<br /><br /><span style="color: red">混血后媒体播放器里的文件名显示乱码的解决方法</span>：主菜单－媒体播放器－音乐－更多－设置－选项－文件－语言（选择简体中文（GBK）<br /><br /><span style="color: red">如何关掉3G网络 为了省电</span>：工具--控制面板--连接--手机网络--更多--GSM/3G网络，选择&ldquo;仅限GSM&rdquo;<br /><br /><span style="color: red">如何分离GPRS 为了省电</span>：工具--控制面板--连接--互连网帐户--更多--选项--首选模式--&ldquo;仅限CS&rdquo;<br /><br /><span style="color: red">消除听音乐时背景电流声的办法</span>：工具-控制面板--通话设置--语音控制--便携免提，随便录一段魔音即可<br/>Tags - <a href="http://www.win3c.com/blog/tags/%25E7%25B4%25A2%25E7%2588%25B1/" rel="tag">索爱</a> , <a href="http://www.win3c.com/blog/tags/m600/" rel="tag">m600</a>
]]>
</description>
</item><item>
<link>http://www.win3c.com/blog/post/41/</link>
<title><![CDATA[查找某时间段修改的文件]]></title> 
<author>thatday &lt;win3c@126.com&gt;</author>
<category><![CDATA[linux shell]]></category>
<pubDate>Wed, 23 Jul 2008 07:47:36 +0000</pubDate> 
<guid>http://www.win3c.com/blog/post/41/</guid> 
<description>
<![CDATA[ 
	需要查找某目录下某个时间段的文件，考虑到目录的特殊性（例如含有空格），做了一些特别的处理（感谢阿阿飛兄弟）<br/><br/><div class="code">#!/bin/bash<br/><br/>find &quot;$1&quot; &#124; while read name; do<br/>&nbsp;&nbsp;iname=`file &quot;$name&quot;&#124;awk -F: &#039;&#123;print $2&#125;&#039;&#124; sed -e &#039;s/ //g&#039;`<br/>&nbsp;&nbsp;if &#91; ! &quot;$iname&quot; == &#039;directory&#039; &#93; &amp;&amp; &#91; ! &quot;$iname&quot; == &#039;symbolic&#039; &#93;; then<br/>&nbsp;&nbsp;&nbsp;&nbsp;filetime=`ls -l &quot;$name&quot; --time-style +%Y%m%d &#124; awk &#039;&#123;print $6&#125;&#039;`<br/>&nbsp;&nbsp;&nbsp;&nbsp;if &#91; $2 -le $filetime &#93; &amp;&amp; &#91; $filetime -le $3 &#93;; then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo $name<br/>&nbsp;&nbsp;&nbsp;&nbsp;fi<br/>&nbsp;&nbsp;fi<br/>done</div><br/><br/>执行:<br/>./findfile&nbsp;&nbsp;/root 20080710 20080720<br/><br/>对于含有空格的目录如根目录下的test test<br/>可以用./findfile&nbsp;&nbsp;/test&#92; test/ 20080701 20080723 这样来执行<br/><br/><br/>有任何意见欢迎提出：）<br/><br/>Tags - <a href="http://www.win3c.com/blog/tags/shell/" rel="tag">shell</a>
]]>
</description>
</item><item>
<link>http://www.win3c.com/blog/post/40/</link>
<title><![CDATA[帮朋友写的一个脚本]]></title> 
<author>thatday &lt;win3c@126.com&gt;</author>
<category><![CDATA[linux shell]]></category>
<pubDate>Mon, 14 Jul 2008 08:23:05 +0000</pubDate> 
<guid>http://www.win3c.com/blog/post/40/</guid> 
<description>
<![CDATA[ 
	要求：<br/>1、目录/FTP/下有很多用户目录，分别是某一个公司的英文缩写，FTP目录结构为<br/>/FTP/AAA/DOWNLOAD<br/>/FTP/BBB/DOWNLOAD<br/>......<br/>2、在每一个公司的DOWNLOAD下，每天会有很多文本文件上传过来，但为了便于数据统计，导入到XML乃至数据库中，需要对上传的文件进行批量重命名，命名的格式如：CCO_AAA_SZ2008071401_SZ_V04.test1.txt，其中2008071401是文件修改日期。<br/><br/>3、文件内容如：<br/><div class="quote"><div class="quote-title">引用</div><div class="quote-content">AAA公司&#124;上传数据&#124;A经理<br/>0012&#124;560&#124;jack&#124;2006<br/>1323&#124;7787&#124;rose&#124;2008<br/>abcd&#124;yes&#124;35&#124;88</div></div><br/><br/>重新命名文件之后，需要对每个文件的内容进行修改，修改要求如下：<br/>以&#124;为分隔符分割字段，删除文件的第一行，将剩下内容每一行&#124;之前的字符删除（包括&#124;符号），然后将&#124;替换成&#124;&#124;，最后判断剩下的内容，如果剩下文件内容的第一行不是以13开头，删除！<br/><br/>初步代码如下，还不完善，有不妥的地方希望大家批评指正。<br/><br/><div class="code">#!/bin/bash<br/>#<br/>for path in /FTP/*/DOWNLOAD ; do<br/>&nbsp;&nbsp;&nbsp;&nbsp;cd $path<br/>&nbsp;&nbsp;&nbsp;&nbsp;compay=`pwd &#124; awk -F/ &#039;&#123;print $(NF-1)&#125;&#039;`<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;ls -l $1 &#124; grep ^&#91;^d&#93; &#124; awk &#039;&#123;print $9&#125;&#039; &#124; sed -e &#039;/^$/d&#039; &#124; while read name;do<br/>&nbsp;&nbsp;&nbsp;&nbsp;if &#91; ! `echo $name &#124; awk &#039;/^CCO/&#039;` &#93;; then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;modifytime=`ls -l $name --time-style +%Y%m%d &#124; awk &#039;&#123;print $6&#125;&#039;`<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;newname=CCO_&quot;$compay&quot;_SZ&quot;$modifytime&quot;01_SZ_V04.&quot;$name&quot;.txt<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo &quot;rename $path/$name to $path/$newname ...&quot;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mv $path/$name $path/$newname<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo &quot;modify the content of $newname&quot;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sed -i &#039;1d; s/&#91;^&#124;&#93;*&#124;//; s/&#124;/&#124;&#124;/g&#039; $newname<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sed -i &#039;1&#123;/^13/!d&#125;&#039; $newname<br/>&nbsp;&nbsp;&nbsp;&nbsp;fi<br/>&nbsp;&nbsp;&nbsp;&nbsp;done<br/>done</div><br/>Tags - <a href="http://www.win3c.com/blog/tags/shell/" rel="tag">shell</a>
]]>
</description>
</item><item>
<link>http://www.win3c.com/blog/post/39/</link>
<title><![CDATA[时光]]></title> 
<author>thatday &lt;win3c@126.com&gt;</author>
<category><![CDATA[生活随笔]]></category>
<pubDate>Thu, 10 Jul 2008 05:26:36 +0000</pubDate> 
<guid>http://www.win3c.com/blog/post/39/</guid> 
<description>
<![CDATA[ 
	<span style="color: #ff6600;">美好的時光總是在人的不經意是暗處悄悄流逝</span><br/><span style="color: #3366ff;">宛若流水向東，過去了，便再也追不回來</span><br/><span style="color: #99cc00;">你看到的時光，在你眼前，卻不知道，而昨日的時光，</span> <br/><span style="color: #ff6600;">究竟從我們的指縫間流去了哪裏呢？</span> <br/><br/><span style="color: #ff00ff;">他是時光的孩子，憧憬著，可以不用長大，</span> <br/><span style="color: #99cc00;">可以生活在好看的漫畫、甜的巧克力、還有永遠喝不完的可樂裏</span><br/><span style="color: #ffff00;">真誠的朋友可以永遠在一起不用分開，而心中摯愛的王子，會一直注視自己</span> <br/><span style="color: #0000ff;">爲什麽，只是這樣簡單的願望，卻仍是不可以？</span> <br/><br/><span style="color: #00ffff;">朋友們逐漸長大， </span><br/><span style="color: #ff6600;">脆弱的愛情，仿佛是融入泥土中逃逸的雨滴。</span> <br/><span style="color: #ff9900;">從此，漫畫變得不再好看，巧克力變得無味，</span> <br/><span style="color: #0000ff;">而床頭放置的超大瓶的可樂，漸漸地成爲了一首懷舊的歌。</span> <br/><span style="color: #00ffff;">不願長大的孩子，不知道在什麽時候，</span> <br/><span style="color: #ffffff;">變成了被遺忘在孤獨城堡裏的睡美人。</span> <br/><br/><span style="color: #003300;">每一次在塵世的蘇醒，</span> <br/><span style="color: #cc99ff;">她堅信只是一次短暫的旅行；</span> <br/><span style="color: #0000ff;">而在每一個快樂的夢境，</span> <br/><br/><span style="color: #ff00ff;">她卻聲稱那就是她的人生。</span> 
]]>
</description>
</item><item>
<link>http://www.win3c.com/blog/post/38/</link>
<title><![CDATA[Linux 下批量更改文件名]]></title> 
<author>thatday &lt;win3c@126.com&gt;</author>
<category><![CDATA[linux shell]]></category>
<pubDate>Wed, 09 Jul 2008 05:24:27 +0000</pubDate> 
<guid>http://www.win3c.com/blog/post/38/</guid> 
<description>
<![CDATA[ 
	比如将所有文件名中带有20080707的字符更改成20080709?<br/><br/><br/><div class="code">root@ubuntu:~/test# cat re<br/>#!/bin/bash<br/># code by thatday<br/>#<br/>ls -l $1 &#124; grep ^&#91;^d&#93; &#124; awk &#039;&#123;print $9&#125;&#039;&#124; while read line; do<br/>do=`echo $line &#124; grep $2`<br/><br/>if &#91; ! &quot;$do&quot; = &quot;&quot; &#93;; then<br/>&nbsp;&nbsp; newname=`echo $line &#124; sed &#039;s/&#039;$2&#039;/&#039;$3&#039;/g&#039;`<br/>&nbsp;&nbsp; echo &quot;rename $line to $newname ...&quot;<br/>&nbsp;&nbsp; mv $1/$line $1/$newname<br/>fi<br/>done<br/><br/>root@ubuntu:~# chmod +x re<br/><br/><br/>root@ubuntu:~# ls -l test/<br/>total 4<br/>-rw-r--r-- 1 root root&nbsp;&nbsp;&nbsp;&nbsp;0 Jul&nbsp;&nbsp;9 13:45 20070808jjj<br/>-rw-r--r-- 1 root root&nbsp;&nbsp;&nbsp;&nbsp;0 Jul&nbsp;&nbsp;9 13:45 20070809abc<br/>-rw-r--r-- 1 root root&nbsp;&nbsp;&nbsp;&nbsp;0 Jul&nbsp;&nbsp;9 13:45 aaa20070809bb<br/>drwxr-xr-x 2 root root 4096 Jul&nbsp;&nbsp;9 12:05 bak<br/>-rw-r--r-- 1 root root&nbsp;&nbsp;&nbsp;&nbsp;0 Jul&nbsp;&nbsp;9 13:45 ccccc200708091<br/>-rw-r--r-- 1 root root&nbsp;&nbsp;&nbsp;&nbsp;0 Jul&nbsp;&nbsp;9 13:45 dddd20070809aj<br/><br/>root@ubuntu:~# ./re test/ 20070809 20070810<br/>rename 20070809abc to 20070810abc ...<br/>rename aaa20070809bb to aaa20070810bb ...<br/>rename ccccc200708091 to ccccc200708101 ...<br/>rename dddd20070809aj to dddd20070810aj ...<br/>root@ubuntu:~# ls test/<br/>20070808jjj&nbsp;&nbsp;20070810abc&nbsp;&nbsp;aaa20070810bb&nbsp;&nbsp;bak&nbsp;&nbsp;ccccc200708101&nbsp;&nbsp;dddd20070810aj<br/><br/></div><br/><br/><br/>Tags - <a href="http://www.win3c.com/blog/tags/shell/" rel="tag">shell</a>
]]>
</description>
</item><item>
<link>http://www.win3c.com/blog/post/37/</link>
<title><![CDATA[iptables 详解2]]></title> 
<author>thatday &lt;win3c@126.com&gt;</author>
<category><![CDATA[综合知识]]></category>
<pubDate>Wed, 09 Jul 2008 03:51:32 +0000</pubDate> 
<guid>http://www.win3c.com/blog/post/37/</guid> 
<description>
<![CDATA[ 
	　　这里不得不把鸟哥的一幅图贴在这里，对于那些想知其所以然的朋友来说，你可以大致浏览以下本文，再　来看这幅图和我配的文字，希望可以帮助你理解iptables．相信很多朋友和我一样，是要建一个ip分享器（局域网用来共享上网）才来学习iptables的，所以我的思路是首先能够使内网机器访问外部网络，然后再考虑复杂的安全设置，这样大家做起来少一些挫败感，而且更加有动力．<br/><br/>　　硬件准备：局域网中的一台电脑，配备两个网卡，具备使用外网的条件，可以是ADSL, 或者乙太网，ip可以是dhcp或者固定ip．以我们实验室为例，外网固定ip。<br/><br/>　　首先设置服务器（ip分享器）的地址和路由，不会做上述设置的朋友可以去网上查一下．比如鸟哥的私房菜。其实只要设置/etc/network/interfaces文件就行了，然后使用 /etc/init.d/networking restart 重启网络。也不要忘记在/etc/resolv.conf中添加或修改nameserver字段。接下来就是iptables的设置，首先就是使主机有ip伪装的功能，其次就是防火墙的功能。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我们看图，和网内机器上网有关的链是filter表的forward链，以及nat表的POSTROUTING链．所以iptables可以设置如下<br/><br/>iptables -A FORWARD -j ACCEPT　<br/><br/>iptables -t nat -A POSTROUTING -o eth0（外网网卡） -j SNAT --to ip<br/><br/>这样你就可以让内网的机器上网了．<br/><a href="http://hiphotos.baidu.com/houhou1999/pic/item/931bcf17d67e8407c93d6d88.jpg" target="_blank"><img src="http://hiphotos.baidu.com/houhou1999/pic/item/931bcf17d67e8407c93d6d88.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>以下是详细的讲解，如何达到防火墙的功能．<br/><br/>一．概述<br/><br/>二．语法<br/><br/>三．实例分析<br/><br/>四．网管策略<br/><br/>五．使用总则<br/><br/>六．实战<br/><br/>　　　　　　　　　　　　　　　一．概述<br/><br/>　　防火墙的典型设置是有两个网卡，一个流入，一个流出，iptables读取流入和流出的的数据报的头，然后将他们与规划集（ruleset）相比较，然后将可接受的数据包从一个网卡转发至另一个网卡，对于被拒绝的数据包，可以被丢弃或者按照你所定义的方式进行处理．<br/><br/>　　　　　　　　　　　　　　二．语法<br/><br/>１．链和表　以及规则<br/><br/>A.表：<br/><br/>filter：iptables默认的表，主要用于包过滤．<br/><br/>nat：nat表的主要用处是网络地址转换，即Network Address Translation，缩写为NAT。做过NAT操作的数据包的地址就被改变了，当然这种改变是根据我们的规则进行的。属于一个流的包只会经过这个表一次。<br/><br/>manage：主要用于对指定的包进行修改，因为某些特应用可能需要去改写数据包的一些传输特性，如更改数据包的TTL和TOS等， 不过在实际应用中访表的使用率不高.<br/><br/>Ｂ.规则（rules）<br/><br/>rules：就是网络管理员预定的条件，这些规则分别指定了源地址，目的地址，传输协议(tcp,udp,icmp),和服务类开型(HTTP,FTP,SMTP)定义一些动作:acccept,reject,drop．<br/><br/>Ｃ.链<br/><br/>INPUT:位于filter表，匹配目的IP是本机的数据包．<br/><br/>FORWARD:位于filter表，匹配穿过本机的数据包．<br/><br/>PREROUTING:位于nat表，用于修改目的地址DNAT<br/><br/>POSTROUTING:位于nat表，用于修改源地址SNAT<br/><br/>D.语法概述<br/><br/>iptables　－t　［要操作的表］<br/><br/>　　　　　　　［操作命令］<br/><br/>　　　　　　　［规则号码］<br/><br/>　　　　　　　［匹配条件］<br/><br/>　　　　　　　［－j　匹配到以后的动作］<br/><br/>E．命令概述<br/><br/>a.操作命令．（－Ａ　－Ｉ　－Ｆ　－Ｄ　－Ｒ　－Ｐ）<br/><br/>b.查看命令．（－［vnx］Ｌ）<br/><br/>a-1. 　-A(链名)<br/><br/>　APPEND,追加１条规则，（放到最后）例如：<br/><br/>　iptables -t filter -A INPUT -j DROP<br/><br/>在filter 表的INPUT 链里追加一条规则（作为最后一条规则）匹配所有访问本机IP 的数据包，匹配到的丢弃．<br/><br/>a-2．－Ｉ<br/><br/>－Ｉ　链名　［规则号码］<br/><br/>INSERT，插入一条规则．例如：<br/><br/>iptables -I INPUT -j DROP　在filter 表的INPUT 链里插入一条规则（插入成第1 条）<br/><br/>iptables -I INPUT 3 -j DROP　在filter 表的INPUT 链里插入一条规则（插入成第3 条）<br/><br/>注意： 1、-t filter 可不写，不写则自动默认是filter 表<br/>　　　　2、-I 链名[规则号码]，如果不写规则号码，则默认是1<br/>　　　　3、确保规则号码≤ （已有规则数+ 1），否则报错．<br/><br/>a-3．　－Ｄ<br/><br/>－Ｄ链名（规则号码｜具体规则内容）<br/><br/>DELETE，删除一条规则．例如：<br/><br/>iptables -D INPUT 3（按号码匹配）　删除filter 表INPUT 链中的第三条规则（不管它的内容是什么）<br/><br/>iptables -D INPUT -s 192.168.0.1 -j DROP（按内容匹配）删除filter 表INPUT 链中内容为“-s 192.168.0.1 -j DROP”的规则<br/><br/>注意：<br/>1、若规则列表中有多条相同的规则时，按内容匹配只删除序号最小的一条<br/>2、按号码匹配删除时，确保规则号码≤ 已有规则数，否则报错<br/>3、按内容匹配删除时，确保规则存在，否则报错<br/><br/>a-4．　－Ｒ<br/><br/>-R <链名> <规则号码> <具体规则内容><br/><br/>REPLACE，替换一条规则　例如：<br/><br/>iptables -R INPUT 3 -j ACCEPT　将原来编号为3 的规则内容替换为“-j ACCEPT＂<br/><br/>注意：<br/>确保规则号码≤ 已有规则数，否则报错<br/><br/>a-5．　－Ｐ<br/><br/>-P <链名> <动作><br/><br/>POLICY，设置某个链的默认规则　例如：<br/><br/>iptables -P INPUT DROP　设置filter 表INPUT 链的默认规则是DROP．<br/><br/>注意：<br/><br/>当数据包没有被规则列表里的任何规则匹配到时，按此默认规则处理。动作前面不能加–j，这也是唯一一种匹配动作前面不加–j 的情况。<br/><br/>a-6．　－Ｆ<br/><br/>-F [链名]<br/><br/>FLUSH，清空规则　例如：<br/><br/>iptables -F INPUT　清空filter 表INPUT 链中的所有规则．<br/><br/>iptables -t nat -F PREROUTING　清空nat 表PREROUTING 链中的所有规则．<br/><br/>注意：<br/>1、-F 仅仅是清空链中规则，并不影响-P 设置的默认规则<br/>2、-P 设置了DROP 后，使用-F 一定要小心！！！<br/>3、如果不写链名，默认清空某表里所有链里的所有规则．<br/><br/>b-1．－Ｌ<br/><br/>-L [链名　LIST，列出规则<br/><br/>v：显示详细信息，包括每条规则的匹配包数量和匹配字节数<br/>x：在v 的基础上，禁止自动单位换算（K、M）<br/>n：只显示IP 地址和端口号码，不显示域名和服务名称<br/><br/>例如：<br/>iptables -L<br/>粗略列出filter 表所有链及所有规则<br/>iptables -t nat -vnL<br/>用详细方式列出nat 表所有链的所有规则，只显示IP 地址和端口号<br/>iptables -t nat -vxnL PREROUTING<br/>用详细方式列出nat 表PREROUTING 链的所有规则以及详细数字，不反解<br/><br/>b-2．匹配条件<br/><br/>£流入、流出接口（-i、-o）<br/>£来源、目的地址（-s、-d）<br/>£协议类型（-p）<br/>£来源、目的端口（--sport、--dport）<br/><br/>b-3．按网络接口匹配<br/><br/>-i <匹配数据进入的网络接口><br/>例如：<br/>-i eth0<br/>匹配是否从网络接口eth0 进来<br/>-i ppp0<br/>匹配是否从网络接口ppp0 进来<br/>-o 匹配数据流出的网络接口<br/>例如：<br/>-o eth0<br/>-o ppp0<br/><br/>b-4．按来源目的地址匹配<br/><br/>-s <匹配来源地址><br/>可以是IP、NET、DOMAIN，也可空（任何地址）<br/>例如：<br/>-s 192.168.0.1 匹配来自192.168.0.1 的数据包<br/>-s 192.168.1.0/24 匹配来自192.168.1.0/24 网络的数据包<br/>-s 192.168.0.0/16 匹配来自192.168.0.0/16 网络的数据包<br/>-d <匹配目的地址><br/>可以是IP、NET、DOMAIN，也可以空<br/>例如：<br/>-d 202.106.0.20 匹配去往202.106.0.20 的数据包<br/>-d 202.106.0.0/16 匹配去往202.106.0.0/16 网络的数据包<br/>-d www.aaa.com 匹配去往域名www.aaa.com 的数据包．<br/><br/>b-5．按协议类型匹配<br/><br/>-p <匹配协议类型><br/>可以是TCP、UDP、ICMP 等，也可为空<br/>例如：<br/>-p tcp<br/>-p udp<br/>-p icmp --icmp-type 类型<br/>ping: type 8 pong: type 0<br/><br/>b-6．按来源目的端口匹配<br/><br/>--sport <匹配源端口><br/>可以是个别端口，可以是端口范围<br/>例如：<br/>--sport 1000 匹配源端口是1000 的数据包<br/>--sport 1000:3000 匹配源端口是1000-3000 的数据包（含1000、3000）<br/>--sport :3000 匹配源端口是3000 以下的数据包（含3000）<br/>--sport 1000: 匹配源端口是1000 以上的数据包（含1000）<br/>--dport <匹配目的端口><br/>可以是个别端口，可以是端口范围<br/>例如：<br/>--dport 80 匹配目的端口是80 的数据包<br/>--dport 6000:8000 匹配目的端口是6000-8000 的数据包（含6000、8000）<br/>--dport :3000 匹配目的端口是3000 以下的数据包（含3000）<br/>--dport 1000: 匹配目的端口是1000 以上的数据包（含1000）<br/>注意：--sport 和--dport 必须配合-p 参数使用．<br/><br/>b-7．匹配应用举例．<br/><br/>1、端口匹配<br/>-p udp --dport 53<br/>匹配网络中目的端口是53 的UDP 协议数据包<br/>2、地址匹配<br/>-s 10.1.0.0/24 -d 172.17.0.0/16<br/>匹配来自10.1.0.0/24 去往172.17.0.0/16 的所有数据包<br/>3、端口和地址联合匹配<br/>-s 192.168.0.1 -d www.abc.com -p tcp --dport 80<br/>匹配来自192.168.0.1，去往www.abc.com 的80 端口的TCP 协议数据包<br/>注意：<br/>1、--sport、--dport 必须联合-p 使用，必须指明协议类型是什么<br/>2、条件写的越多，匹配越细致，匹配范围越小．<br/><br/>b-8.动作（处理方式）<br/><br/>£ ACCEPT<br/>£ DROP<br/>£ SNAT<br/>£ DNAT<br/>£ MASQUERADE<br/><br/>b-9．<br/><br/>-j ACCEPT<br/>通过，允许数据包通过本链而不拦截它<br/>类似Cisco 中ACL 里面的permit<br/>例如：<br/>iptables -A INPUT -j ACCEPT<br/>允许所有访问本机IP 的数据包通过<br/><br/>-j DROP<br/>丢弃，阻止数据包通过本链而丢弃它<br/>类似Cisco 中ACL 里的deny<br/>例如：<br/>iptables -A FORWARD -s 192.168.80.39 -j DROP<br/>阻止来源地址为192.168.80.39 的数据包通过本机<br/><br/>-j DNAT --to IP[-IP][:端口-端口]（nat 表的PREROUTING 链）<br/>目的地址转换，DNAT 支持转换为单IP，也支持转换到IP 地址池<br/>（一组连续的IP 地址）<br/>例如：<br/>iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 &#92;<br/>-j DNAT --to 192.168.0.1<br/>把从ppp0 进来的要访问TCP/80 的数据包目的地址改为192.168.0.1<br/>iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 81 &#92;<br/>-j DNAT --to 192.168.0.2:80<br/>iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 &#92;<br/>-j DNAT --to 192.168.0.1-192.168.0.10<br/><br/>-j SNAT --to IP[-IP][:端口-端口]（nat 表的POSTROUTING 链）<br/>源地址转换，SNAT 支持转换为单IP，也支持转换到IP 地址池<br/>（一组连续的IP 地址）<br/>例如：<br/>iptables -t nat -A POSTROUTING -s 192.168.0.0/24 &#92;<br/>-j SNAT --to 1.1.1.1<br/>将内网192.168.0.0/24 的原地址修改为1.1.1.1，用于NAT<br/>iptables -t nat -A POSTROUTING -s 192.168.0.0/24 &#92;<br/>-j SNAT --to 1.1.1.1-1.1.1.10<br/>同上，只不过修改成一个地址池里的IP．<br/><br/>-j MASQUERADE<br/>动态源地址转换（动态IP 的情况下使用）<br/>例如：<br/>iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE<br/>将源地址是192.168.0.0/24 的数据包进行地址伪装．<br/><br/>Tags - <a href="http://www.win3c.com/blog/tags/iptables/" rel="tag">iptables</a>
]]>
</description>
</item>
</channel>
</rss>