<?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>沈家博客</title>
	<atom:link href="http://www.shenjia.org/feed" rel="self" type="application/rss+xml" />
	<link>http://www.shenjia.org</link>
	<description>瓷器国非著名程序猿</description>
	<lastBuildDate>Tue, 21 Feb 2012 03:24:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>修改Oracle数据库的字符集</title>
		<link>http://www.shenjia.org/archives/170</link>
		<comments>http://www.shenjia.org/archives/170#comments</comments>
		<pubDate>Tue, 21 Feb 2012 03:24:09 +0000</pubDate>
		<dc:creator>杰森</dc:creator>
				<category><![CDATA[爱写代码]]></category>

		<guid isPermaLink="false">http://www.shenjia.org/?p=170</guid>
		<description><![CDATA[Oracle10G可以采用下面的方法
<pre>connect system as sysdba ;
shutdown immediate ;
startup mount ;
alter system enable restricted session ; 
alter system set JOB_QUEUE_PROCESSES=0; 
alter system set AQ_TM_PROCESSES=0; 
alter database open ; 
alter database character set internal_use ZHS16GBK ; 
shutdown immediate ;
startup ;</pre>
老版本可以参考
<pre>
STARTUP MOUNT; 
ALTER SYSTEM ENABLE RESTRICTED SESSION; 
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; 
ALTER SYSTEM SET AQ_TM_PROCESSES=0; 
ALTER DATABASE OPEN; 
ALTER DATABASE CHARACTER SET ZHS16GBK; 
ALTER DATABASE national CHARACTER SET ZHS16GBK; 
SHUTDOWN IMMEDIATE; 
STARTUP;</pre>
之所以改字符集是因为我昨天装了Cognos但是服务死活起不来，在网上查了一下，说是Oracle字符集的事，用UTF-8就没问题，改成UTF8了还是报错，发现一个能够起来的服务是用AL32UTF8这个字符集就能起来，我把本地的oracle字符集又改成了AL32UTF8可是还是起不来，后来同事说通过修改字符集不行，必须是创建数据库的时候就指定字符集！晕死。

注：Al32UTF8 支持更高版本的Unicode(3.1)， 而且, AL32UTF8只支持9i以及更高版本的数据库，UTF8既可以作为数据库字符集,也可以作为国家字符集(9i)，AL32UTF8只能作为数据库字符集]]></description>
			<content:encoded><![CDATA[<p>Oracle10G可以采用下面的方法</p>
<pre>connect system as sysdba ;
shutdown immediate ;
startup mount ;
alter system enable restricted session ;
alter system set JOB_QUEUE_PROCESSES=0;
alter system set AQ_TM_PROCESSES=0;
alter database open ;
alter database character set internal_use ZHS16GBK ;
shutdown immediate ;
startup ;</pre>
<p>老版本可以参考</p>
<pre>
STARTUP MOUNT;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;
ALTER DATABASE CHARACTER SET ZHS16GBK;
ALTER DATABASE national CHARACTER SET ZHS16GBK;
SHUTDOWN IMMEDIATE;
STARTUP;</pre>
<p>之所以改字符集是因为我昨天装了Cognos但是服务死活起不来，在网上查了一下，说是Oracle字符集的事，用UTF-8就没问题，改成UTF8了还是报错，发现一个能够起来的服务是用AL32UTF8这个字符集就能起来，我把本地的oracle字符集又改成了AL32UTF8可是还是起不来，后来同事说通过修改字符集不行，必须是创建数据库的时候就指定字符集！晕死。</p>
<p>注：Al32UTF8 支持更高版本的Unicode(3.1)， 而且, AL32UTF8只支持9i以及更高版本的数据库，UTF8既可以作为数据库字符集,也可以作为国家字符集(9i)，AL32UTF8只能作为数据库字符集</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shenjia.org/archives/170/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux系统中增加Swap分区大小</title>
		<link>http://www.shenjia.org/archives/162</link>
		<comments>http://www.shenjia.org/archives/162#comments</comments>
		<pubDate>Wed, 21 Dec 2011 09:08:37 +0000</pubDate>
		<dc:creator>杰森</dc:creator>
				<category><![CDATA[爱写代码]]></category>

		<guid isPermaLink="false">http://www.shenjia.org/?p=162</guid>
		<description><![CDATA[1、检查当前的分区情况:

[root@localhost]#free -m

2、增加交换分区文件及大小，如果要增加2G大小的交换分区，则命令写法如下，其中的 count 等于想要的块大小。

[root@localhost]# dd if=/dev/zero of=/home/swap bs=1024 count=2048000

3、设置交换文件：

[root@localhost]# mkswap /home/swap

4、立即启用交换分区文件

[root@localhost]# swapon /home/swap

5、如果要在引导时自动启用，则编辑 /etc/fstab 文件，添加行：
/home/swap swap swap defaults 0 0]]></description>
			<content:encoded><![CDATA[<p>1、检查当前的分区情况:</p>
<p>[root@localhost]#free -m</p>
<p>2、增加交换分区文件及大小，如果要增加2G大小的交换分区，则命令写法如下，其中的 count 等于想要的块大小。</p>
<p>[root@localhost]# dd if=/dev/zero of=/home/swap bs=1024 count=2048000</p>
<p>3、设置交换文件：</p>
<p>[root@localhost]# mkswap /home/swap</p>
<p>4、立即启用交换分区文件</p>
<p>[root@localhost]# swapon /home/swap</p>
<p>5、如果要在引导时自动启用，则编辑 /etc/fstab 文件，添加行：<br />
/home/swap swap swap defaults 0 0</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shenjia.org/archives/162/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>markdown maven plugin</title>
		<link>http://www.shenjia.org/archives/157</link>
		<comments>http://www.shenjia.org/archives/157#comments</comments>
		<pubDate>Mon, 12 Dec 2011 16:37:14 +0000</pubDate>
		<dc:creator>杰森</dc:creator>
				<category><![CDATA[爱写代码]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[maven]]></category>

		<guid isPermaLink="false">http://www.shenjia.org/?p=157</guid>
		<description><![CDATA[因想在自己的maven小项目中用markdown写文档，但没有找到markdown的maven插件，故自己动手造了一个。

maven 中的配置：
<pre>&#60;build&#62;
	&#60;pluginManagement&#62;
		&#60;plugins&#62;
			&#60;plugin&#62;
				&#60;groupId&#62;org.eclipse.m2e&#60;/groupId&#62;
				&#60;artifactId&#62;lifecycle-mapping&#60;/artifactId&#62;
				&#60;version&#62;1.0.0&#60;/version&#62;
				&#60;configuration&#62;
					&#60;lifecycleMappingMetadata&#62;
						&#60;pluginExecutions&#62;
							&#60;pluginExecution&#62;
								&#60;pluginExecutionFilter&#62;
									&#60;groupId&#62;org.shenjia.maven&#60;/groupId&#62;
									&#60;artifactId&#62;markdown-maven-plugin&#60;/artifactId&#62;
									&#60;versionRange&#62;[0.0.1-SNAPSHOT,)&#60;/versionRange&#62;
									&#60;goals&#62;
										&#60;goal&#62;markdown&#60;/goal&#62;
									&#60;/goals&#62;
								&#60;/pluginExecutionFilter&#62;
								&#60;action&#62;
									&#60;ignore /&#62;
								&#60;/action&#62;
							&#60;/pluginExecution&#62;
						&#60;/pluginExecutions&#62;
					&#60;/lifecycleMappingMetadata&#62;
				&#60;/configuration&#62;
			&#60;/plugin&#62;
		&#60;/plugins&#62;
	&#60;/pluginManagement&#62;
	&#60;plugins&#62;
		&#60;plugin&#62;
			&#60;groupId&#62;org.shenjia.maven&#60;/groupId&#62;
			&#60;artifactId&#62;markdown-maven-plugin&#60;/artifactId&#62;
			&#60;version&#62;0.0.1-SNAPSHOT&#60;/version&#62;
			&#60;executions&#62;
				&#60;execution&#62;
					&#60;goals&#62;
						&#60;goal&#62;markdown&#60;/goal&#62;
					&#60;/goals&#62;
				&#60;/execution&#62;
			&#60;/executions&#62;
			&#60;configuration&#62;
				&#60;copyMarkdown&#62;false&#60;/copyMarkdown&#62;
				&#60;markdownDirectory&#62;src/main/resources/documents&#60;/markdownDirectory&#62;
				&#60;outputDirectory&#62;${project.build.directory}/html&#60;/outputDirectory&#62;
			&#60;/configuration&#62;
		&#60;/plugin&#62;
	&#60;/plugins&#62;
&#60;/build&#62;</pre>
项目地址：<a href="https://github.com/jsonshen/markdown-maven-plugin">https://github.com/jsonshen/markdown-maven-plugin</a>]]></description>
			<content:encoded><![CDATA[<p>因想在自己的maven小项目中用markdown写文档，但没有找到markdown的maven插件，故自己动手造了一个。</p>
<p>maven 中的配置：</p>
<pre>&lt;build&gt;
	&lt;pluginManagement&gt;
		&lt;plugins&gt;
			&lt;plugin&gt;
				&lt;groupId&gt;org.eclipse.m2e&lt;/groupId&gt;
				&lt;artifactId&gt;lifecycle-mapping&lt;/artifactId&gt;
				&lt;version&gt;1.0.0&lt;/version&gt;
				&lt;configuration&gt;
					&lt;lifecycleMappingMetadata&gt;
						&lt;pluginExecutions&gt;
							&lt;pluginExecution&gt;
								&lt;pluginExecutionFilter&gt;
									&lt;groupId&gt;org.shenjia.maven&lt;/groupId&gt;
									&lt;artifactId&gt;markdown-maven-plugin&lt;/artifactId&gt;
									&lt;versionRange&gt;[0.0.1-SNAPSHOT,)&lt;/versionRange&gt;
									&lt;goals&gt;
										&lt;goal&gt;markdown&lt;/goal&gt;
									&lt;/goals&gt;
								&lt;/pluginExecutionFilter&gt;
								&lt;action&gt;
									&lt;ignore /&gt;
								&lt;/action&gt;
							&lt;/pluginExecution&gt;
						&lt;/pluginExecutions&gt;
					&lt;/lifecycleMappingMetadata&gt;
				&lt;/configuration&gt;
			&lt;/plugin&gt;
		&lt;/plugins&gt;
	&lt;/pluginManagement&gt;
	&lt;plugins&gt;
		&lt;plugin&gt;
			&lt;groupId&gt;org.shenjia.maven&lt;/groupId&gt;
			&lt;artifactId&gt;markdown-maven-plugin&lt;/artifactId&gt;
			&lt;version&gt;0.0.1-SNAPSHOT&lt;/version&gt;
			&lt;executions&gt;
				&lt;execution&gt;
					&lt;goals&gt;
						&lt;goal&gt;markdown&lt;/goal&gt;
					&lt;/goals&gt;
				&lt;/execution&gt;
			&lt;/executions&gt;
			&lt;configuration&gt;
				&lt;copyMarkdown&gt;false&lt;/copyMarkdown&gt;
				&lt;markdownDirectory&gt;src/main/resources/documents&lt;/markdownDirectory&gt;
				&lt;outputDirectory&gt;${project.build.directory}/html&lt;/outputDirectory&gt;
			&lt;/configuration&gt;
		&lt;/plugin&gt;
	&lt;/plugins&gt;
&lt;/build&gt;</pre>
<p>项目地址：<a href="https://github.com/jsonshen/markdown-maven-plugin">https://github.com/jsonshen/markdown-maven-plugin</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shenjia.org/archives/157/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>eclipse中用空格替代制表符</title>
		<link>http://www.shenjia.org/archives/153</link>
		<comments>http://www.shenjia.org/archives/153#comments</comments>
		<pubDate>Mon, 12 Dec 2011 16:27:50 +0000</pubDate>
		<dc:creator>杰森</dc:creator>
				<category><![CDATA[爱写代码]]></category>
		<category><![CDATA[eclipse]]></category>

		<guid isPermaLink="false">http://www.shenjia.org/?p=153</guid>
		<description><![CDATA[其效果为：按一次制表符，出现“4个空格”，而不是“4个空格长度的制表符”。

设置步骤：窗口(windows)-&#62;首选项(preferences...)，
在左边选Java-&#62;代码样式(code style)-&#62;格式化程序(Formatter)，
右边点“显示(edit)”按钮，选“缩进(Indentation)”选项卡，
在“常规设置(general settings)”里的“跳格策略(Tab policy)”
下拉列表选“仅空格(Spaces only)” 。]]></description>
			<content:encoded><![CDATA[<p>其效果为：按一次制表符，出现“4个空格”，而不是“4个空格长度的制表符”。</p>
<p>设置步骤：窗口(windows)-&gt;首选项(preferences&#8230;)，<br />
在左边选Java-&gt;代码样式(code style)-&gt;格式化程序(Formatter)，<br />
右边点“显示(edit)”按钮，选“缩进(Indentation)”选项卡，<br />
在“常规设置(general settings)”里的“跳格策略(Tab policy)”<br />
下拉列表选“仅空格(Spaces only)” 。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shenjia.org/archives/153/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows 7 共享 Wifi 批处理脚本</title>
		<link>http://www.shenjia.org/archives/150</link>
		<comments>http://www.shenjia.org/archives/150#comments</comments>
		<pubDate>Sun, 04 Dec 2011 13:00:55 +0000</pubDate>
		<dc:creator>杰森</dc:creator>
				<category><![CDATA[爱上网]]></category>
		<category><![CDATA[爱写代码]]></category>

		<guid isPermaLink="false">http://www.shenjia.org/?p=150</guid>
		<description><![CDATA[<pre>@echo off
rem SSID广播的名称
set SSID=hotspot.sinobro.com
rem 用户安全密钥应为 8 到 63 个 ASCII 字符组成的字符
set PASS=1234567890

:MENU
set Choice=
cls
echo.
echo    Windows 7 设置虚拟WIFI无线路由接入点
echo    ------------------------------------
echo.
echo    1. 启动无线路由服务
echo            SSID=%SSID%
echo            PASS=%PASS%
echo.
echo    2. 停止无线路由服务
echo.
echo    3. 退出
echo.
echo    ------------------------------------
echo.
set /P Choice=输入选择[1/2/3]：
if "%Choice%"=="1" goto StartServer
if "%Choice%"=="2" goto StopServer
if "%Choice%"=="3" goto :EOF
goto MENU

:StartServer
echo 设置服务模式和SSID，PASS
netsh wlan set hostednetwork mode=allow ssid=%SSID% key=%PASS%
echo 启动服务
netsh wlan start hostednetwork
echo.
echo     ------------------------------------------
echo     打开网络共享中心--更改适配器设置，右击你的
echo     带连接”或无线网络，反正就是你现有Internet
echo     属性，点击共享，勾选“允许其他网络用户通过
echo     连接来连接”选项，在下拉菜单中选择刚才建立
echo     ------------------------------------------
echo.
pause
goto MENU

:StopServer
netsh wlan stop hostednetwork
echo.
pause
goto MENU</pre>]]></description>
			<content:encoded><![CDATA[<pre>@echo off
rem SSID广播的名称
set SSID=hotspot.sinobro.com
rem 用户安全密钥应为 8 到 63 个 ASCII 字符组成的字符
set PASS=1234567890

:MENU
set Choice=
cls
echo.
echo    Windows 7 设置虚拟WIFI无线路由接入点
echo    ------------------------------------
echo.
echo    1. 启动无线路由服务
echo            SSID=%SSID%
echo            PASS=%PASS%
echo.
echo    2. 停止无线路由服务
echo.
echo    3. 退出
echo.
echo    ------------------------------------
echo.
set /P Choice=输入选择[1/2/3]：
if "%Choice%"=="1" goto StartServer
if "%Choice%"=="2" goto StopServer
if "%Choice%"=="3" goto :EOF
goto MENU

:StartServer
echo 设置服务模式和SSID，PASS
netsh wlan set hostednetwork mode=allow ssid=%SSID% key=%PASS%
echo 启动服务
netsh wlan start hostednetwork
echo.
echo     ------------------------------------------
echo     打开网络共享中心--更改适配器设置，右击你的
echo     带连接”或无线网络，反正就是你现有Internet
echo     属性，点击共享，勾选“允许其他网络用户通过
echo     连接来连接”选项，在下拉菜单中选择刚才建立
echo     ------------------------------------------
echo.
pause
goto MENU

:StopServer
netsh wlan stop hostednetwork
echo.
pause
goto MENU</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.shenjia.org/archives/150/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>【转】iptables配置文件解析</title>
		<link>http://www.shenjia.org/archives/143</link>
		<comments>http://www.shenjia.org/archives/143#comments</comments>
		<pubDate>Fri, 18 Nov 2011 07:00:03 +0000</pubDate>
		<dc:creator>杰森</dc:creator>
				<category><![CDATA[爱写代码]]></category>
		<category><![CDATA[iptables]]></category>

		<guid isPermaLink="false">http://www.shenjia.org/?p=143</guid>
		<description><![CDATA[<span>#头两行是注释说明</span>
<pre><span># Firewall configuration written by system-config-securitylevel # Manual customization of this file is not recommended.</span></pre>
<div align="left"><span>#使用filter表</span></div>
<pre><span>*filter</span></pre>
<div align="left"><span>#下面四条内容定义了内建的INPUT、FORWAARD、ACCEPT链，还创建了一个被称为RH-Firewall-1-INPUT 的新链</span></div>
<pre><span>:INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0]</span></pre>
<div align="left"><span>#将所有流入的数据写入到日志文件中</span></div>
<pre><span>-A INPUT -j LOG --log-level crit</span></pre>
<div align="left"><span>#下面这条规则将添加到INPUT链上，所有发往INPUT链上的数据包将跳转到RH-Firewall-1 //链上。</span></div>
<pre><span>-A INPUT -j RH-Firewall-1-INPUT</span></pre>
<div align="left"><span style="color: #000000;">#下面这条规则将添加到FORWARD链上，所有发往INPUT链上的数据包将跳转到RH-Firewall-1 //链上。</span></div>
<pre><span>-A FORWARD -j RH-Firewall-1-INPUT</span></pre>
<div align="left"><span style="color: #000000;">#下面这条规则将被添加到RH-Firewall-1-input链。它可以匹配所有的数据包，其中流入接口（-i）//是一个环路接口(lo)。</span></div>
<div align="left"><span style="color: #000000;">#匹配这条规则的数据包将全部通过（ACCEPT），不会再使用别的规则来和它们进行比较</span></div>
<pre><span>-A RH-Firewall-1-INPUT -i lo -j ACCEPT</span></pre>
<div align="left"><span style="color: #000000;">#下面这条规则是拒绝所以的icmp包-p 后是协议如：icmp、tcp、udp。端口是在-p后面--sport源端口，--dport目的端口。-j 指定数据包发送的</span></div>
<div align="left"><span style="color: #000000;">#目的地址如：ACCEPT、DROP、QUEUE等等</span></div>
<pre><span>-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j DROP -A RH-Firewall-1-INPUT -p 50 -j ACCEPT -A RH-Firewall-1-INPUT -p 51 -j ACCEPT -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT</span></pre>
<div align="left"><span style="color: #000000;">#-m state --state ESTABLISHED,RELATED这个条件表示所有处于ESTABLISHED或者
RELATED状态的包，策略都是接受的。</span></div>
<div align="left"><span style="color: #000000;"># -m state --state NEW 这个条件是当<span>connection的状态为初始连接(NEW)时候的策略。</span></span></div>
<pre><span>-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 23 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j DROP -s 222.221.7.84 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT</span></pre>
<div align="left"><span class="Apple-style-span" style="color: #000000;"> iptalbes 是状态检测防火墙</span></div>
&#160;]]></description>
			<content:encoded><![CDATA[<p><span>#头两行是注释说明</span></p>
<pre><span># Firewall configuration written by system-config-securitylevel # Manual customization of this file is not recommended.</span></pre>
<div align="left"><span>#使用filter表</span></div>
<pre><span>*filter</span></pre>
<div align="left"><span>#下面四条内容定义了内建的INPUT、FORWAARD、ACCEPT链，还创建了一个被称为RH-Firewall-1-INPUT 的新链</span></div>
<pre><span>:INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0]</span></pre>
<div align="left"><span>#将所有流入的数据写入到日志文件中</span></div>
<pre><span>-A INPUT -j LOG --log-level crit</span></pre>
<div align="left"><span>#下面这条规则将添加到INPUT链上，所有发往INPUT链上的数据包将跳转到RH-Firewall-1 //链上。</span></div>
<pre><span>-A INPUT -j RH-Firewall-1-INPUT</span></pre>
<div align="left"><span style="color: #000000;">#下面这条规则将添加到FORWARD链上，所有发往INPUT链上的数据包将跳转到RH-Firewall-1 //链上。</span></div>
<pre><span>-A FORWARD -j RH-Firewall-1-INPUT</span></pre>
<div align="left"><span style="color: #000000;">#下面这条规则将被添加到RH-Firewall-1-input链。它可以匹配所有的数据包，其中流入接口（-i）//是一个环路接口(lo)。</span></div>
<div align="left"><span style="color: #000000;">#匹配这条规则的数据包将全部通过（ACCEPT），不会再使用别的规则来和它们进行比较</span></div>
<pre><span>-A RH-Firewall-1-INPUT -i lo -j ACCEPT</span></pre>
<div align="left"><span style="color: #000000;">#下面这条规则是拒绝所以的icmp包-p 后是协议如：icmp、tcp、udp。端口是在-p后面&#8211;sport源端口，&#8211;dport目的端口。-j 指定数据包发送的</span></div>
<div align="left"><span style="color: #000000;">#目的地址如：ACCEPT、DROP、QUEUE等等</span></div>
<pre><span>-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j DROP -A RH-Firewall-1-INPUT -p 50 -j ACCEPT -A RH-Firewall-1-INPUT -p 51 -j ACCEPT -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT</span></pre>
<div align="left"><span style="color: #000000;">#-m state &#8211;state ESTABLISHED,RELATED这个条件表示所有处于ESTABLISHED或者<br />
RELATED状态的包，策略都是接受的。</span></div>
<div align="left"><span style="color: #000000;"># -m state &#8211;state NEW 这个条件是当<span>connection的状态为初始连接(NEW)时候的策略。</span></span></div>
<pre><span>-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 23 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j DROP -s 222.221.7.84 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT</span></pre>
<div align="left"><span class="Apple-style-span" style="color: #000000;"> iptalbes 是状态检测防火墙</span></div>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shenjia.org/archives/143/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML4和HTML5之间的10个主要不同</title>
		<link>http://www.shenjia.org/archives/138</link>
		<comments>http://www.shenjia.org/archives/138#comments</comments>
		<pubDate>Thu, 17 Nov 2011 05:08:13 +0000</pubDate>
		<dc:creator>杰森</dc:creator>
				<category><![CDATA[爱写代码]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://www.shenjia.org/?p=138</guid>
		<description><![CDATA[HTML5是最新的HTML标准，或迟或早，所有的web程序员都会发现需要使用到这个最新的标准，而且，很多人都会感觉到，重新开发一个HTML5的网站，要比把一个网站从HTML4迁移到HTML5上容易的多，这是因为这两个版本之间有很大不同之处。

事实上，HTML5并没有对HTML4做什么重大的修改，它们很多东西都是相似的。

可是，其中有一些很重要的区别你需要知道。下面列出的就是一些HTML4和HTML5之间主要的不同之处(并不是全部，全部列出来是不可能的)：

<strong>1. HTML5标准还在制定中</strong>
这头一个不同之处显而易见，但非常重要，我需要先从它开始。也许你已经注意到了关于HTML5很酷的言论到处都是，但是事实情况是，HTML5是一个还未完成的标准。HTML4已经有10岁了，但它仍是当前正式的标准的事实没有改变。

另一方面，HTML5仍处在早期阶段，以后的修改会不断的出现。你必须考虑到这些，因为你在网站上使用的这些新增加或修改的网页元素会每年都出 现一些变化，你需要不停的更新升级你的网站，这可不是你希望的。这就是目前为止，你最好在产品里使用HTML4，只在实验里使用HTML5的原因。

<strong>2. 简化的语法</strong>
更简单的doctype声明是HTML5里众多新特征之一。现在你只需要写&#60;!doctype html&#62;，这就行了。HTML5的语法兼容HTML4和XHTML1，但不兼容SGML。

<strong>3. 一个替代Flash的新 &#60;canvas&#62; 标记</strong>
对于Web用户来说，Flash既是一个惊喜，也是一种痛苦。有很多的Web开发人员对HTML5对Flash产生的威胁很不满。但对于那些忍 受着要花几年时间加载和运行的臃肿的Flash视频的人来说，用新的 &#60;canvas&#62; 标记生成视频的技术已经到来。

目前， &#60;canvas&#62; 标记并不能提供所有的Flash具有的功能，但假以时日，Flash必将从web上淘汰。我们拭目以待，因为很多人还并不认同这种观点。

<strong>4. 新的 &#60;header&#62; 和 &#60;footer&#62; 标记</strong>
HTML5的设计是要更好的描绘网站的解剖结构。这就是为什么这些&#60;header&#62; 和&#60;footer&#62; 等新标记的出现，它们是专门为标志网站的这些部分设计的。

在开发网站时，你不在需要用&#60;div&#62;标记来标注网页的这些部分。

<strong>5. 新的 &#60;section&#62; 和 &#60;article&#62; 标记</strong>
跟&#60;header&#62; 和 &#60;footer&#62;标记类似，HTML5中引入的新的&#60;section&#62; 和 &#60;article&#62; 标记可以让开发人员更好的标注页面上的这些区域。

据推测，除了让代码更有组织外，它也能改善SEO效果，能让搜索引擎更容易的分析你的页面。

<strong>6. 新的 &#60;menu&#62; 和 &#60;figure&#62; 标记</strong>
新的&#60;menu&#62;标记可以被用作普通的菜单，也可以用在工具条和右键菜单上，虽然这些东西在页面上并不常用。

类似的，新的 &#60;figure&#62; 标记是一种更专业的管理页面上文字和图像的方式。当然，你可以用样式表来控制文字和图像，但使用HTML5内置的这个标记更适合。

<strong>7. 新的 &#60;audio&#62; 和 &#60;video&#62; 标记</strong>
新的&#60;audio&#62; 和 &#60;video&#62; 标记可能是HTML5中增加的最有用处的两个东西了。正如标记名称，它们是用来嵌入音频和视频文件的。

除此之外还有一些新的多媒体的标记和属性，例如&#60;track&#62;，它是用来提供跟踪视频的文字信息的。有了这些标记，HTML5使Web2.0特征变得越来越友好。问题在于，在HTML5还未被广泛的接受之前，Web2.0还是老的Web2.0。

<strong>8. 全新的表单设计</strong>
新的 &#60;form&#62; 和 &#60;forminput&#62; 标记对原有的表单元素进行的全新的修改，它们有很多的新属性(以及一些修改)。如果你经常的开发表单，你应该花时间更详细的研究一下。

<strong>9. 不再使用 &#60;b&#62; 和 &#60;font&#62; 标记</strong>
对我个人来说，这是一个让我不太理解的改动。我并不认为去除 &#60;b&#62; 和 &#60;font&#62;标记会带来多大的好处。我知道，官方的指导说这些标记可以通过CCS来做更好的处理，但这样一来，为了在文章一两个地方出现的这 种标记，你就需要在独立的css和文本两个地方来实现这一的功能，岂不笨拙。也许我们以后会习惯这种方法。

<strong>10. 不再使用 &#60;frame&#62;, &#60;center&#62;, &#60;big&#62; 标记</strong>
事实上，我已经记不清曾经何时用过这些标记了，所以，我并不为去除这些标记感到悲哀。相同的原因，有更好的标记能实现它们的功能——这很好，任何作废的标记从标准中剔除都是受欢迎的。

这10个HTML5和HTML4之间的不同只是整个新的规范中的一小部分。除了这些主要的变动外，我还可以略提一下一些次要的改动，比如修改了&#60;ol&#62; 标记的属性，让它能够倒排序，对&#60;u&#62;标记也做了修改。

所有这些次要的改动数量众多。而且新的修改也在不断的增加，因此，如果你想实时跟踪最新的动向，你需要经常的查看w3.org的<a href="http://dev.w3.org/html5/html4-differences/">HTML4 和 HTML5之间的不同</a>这个页面。如果你很心急，想在你的工作中使用这些新的标记和属性，我劝告你最好只是做实验，原因已经说的很清楚了，这些新标记和新属性在将来也许会有很大的改变，所以，除非你不断的更新你的代码，它们很可能会过期失效。

尽管如今大多数流行的浏览器的最新版都支持HTML5，但有些新的(或修改的)标记和属性它们并不支持，所以你的网页在用户的屏幕上有可能前后显示的不一致。耐心等待，等待HTML5真正可以实用时候。目前还不是时候。

文章来源:cnBeta]]></description>
			<content:encoded><![CDATA[<p>HTML5是最新的HTML标准，或迟或早，所有的web程序员都会发现需要使用到这个最新的标准，而且，很多人都会感觉到，重新开发一个HTML5的网站，要比把一个网站从HTML4迁移到HTML5上容易的多，这是因为这两个版本之间有很大不同之处。</p>
<p>事实上，HTML5并没有对HTML4做什么重大的修改，它们很多东西都是相似的。</p>
<p>可是，其中有一些很重要的区别你需要知道。下面列出的就是一些HTML4和HTML5之间主要的不同之处(并不是全部，全部列出来是不可能的)：</p>
<p><strong>1. HTML5标准还在制定中</strong><br />
这头一个不同之处显而易见，但非常重要，我需要先从它开始。也许你已经注意到了关于HTML5很酷的言论到处都是，但是事实情况是，HTML5是一个还未完成的标准。HTML4已经有10岁了，但它仍是当前正式的标准的事实没有改变。</p>
<p>另一方面，HTML5仍处在早期阶段，以后的修改会不断的出现。你必须考虑到这些，因为你在网站上使用的这些新增加或修改的网页元素会每年都出 现一些变化，你需要不停的更新升级你的网站，这可不是你希望的。这就是目前为止，你最好在产品里使用HTML4，只在实验里使用HTML5的原因。</p>
<p><strong>2. 简化的语法</strong><br />
更简单的doctype声明是HTML5里众多新特征之一。现在你只需要写&lt;!doctype html&gt;，这就行了。HTML5的语法兼容HTML4和XHTML1，但不兼容SGML。</p>
<p><strong>3. 一个替代Flash的新 &lt;canvas&gt; 标记</strong><br />
对于Web用户来说，Flash既是一个惊喜，也是一种痛苦。有很多的Web开发人员对HTML5对Flash产生的威胁很不满。但对于那些忍 受着要花几年时间加载和运行的臃肿的Flash视频的人来说，用新的 &lt;canvas&gt; 标记生成视频的技术已经到来。</p>
<p>目前， &lt;canvas&gt; 标记并不能提供所有的Flash具有的功能，但假以时日，Flash必将从web上淘汰。我们拭目以待，因为很多人还并不认同这种观点。</p>
<p><strong>4. 新的 &lt;header&gt; 和 &lt;footer&gt; 标记</strong><br />
HTML5的设计是要更好的描绘网站的解剖结构。这就是为什么这些&lt;header&gt; 和&lt;footer&gt; 等新标记的出现，它们是专门为标志网站的这些部分设计的。</p>
<p>在开发网站时，你不在需要用&lt;div&gt;标记来标注网页的这些部分。</p>
<p><strong>5. 新的 &lt;section&gt; 和 &lt;article&gt; 标记</strong><br />
跟&lt;header&gt; 和 &lt;footer&gt;标记类似，HTML5中引入的新的&lt;section&gt; 和 &lt;article&gt; 标记可以让开发人员更好的标注页面上的这些区域。</p>
<p>据推测，除了让代码更有组织外，它也能改善SEO效果，能让搜索引擎更容易的分析你的页面。</p>
<p><strong>6. 新的 &lt;menu&gt; 和 &lt;figure&gt; 标记</strong><br />
新的&lt;menu&gt;标记可以被用作普通的菜单，也可以用在工具条和右键菜单上，虽然这些东西在页面上并不常用。</p>
<p>类似的，新的 &lt;figure&gt; 标记是一种更专业的管理页面上文字和图像的方式。当然，你可以用样式表来控制文字和图像，但使用HTML5内置的这个标记更适合。</p>
<p><strong>7. 新的 &lt;audio&gt; 和 &lt;video&gt; 标记</strong><br />
新的&lt;audio&gt; 和 &lt;video&gt; 标记可能是HTML5中增加的最有用处的两个东西了。正如标记名称，它们是用来嵌入音频和视频文件的。</p>
<p>除此之外还有一些新的多媒体的标记和属性，例如&lt;track&gt;，它是用来提供跟踪视频的文字信息的。有了这些标记，HTML5使Web2.0特征变得越来越友好。问题在于，在HTML5还未被广泛的接受之前，Web2.0还是老的Web2.0。</p>
<p><strong>8. 全新的表单设计</strong><br />
新的 &lt;form&gt; 和 &lt;forminput&gt; 标记对原有的表单元素进行的全新的修改，它们有很多的新属性(以及一些修改)。如果你经常的开发表单，你应该花时间更详细的研究一下。</p>
<p><strong>9. 不再使用 &lt;b&gt; 和 &lt;font&gt; 标记</strong><br />
对我个人来说，这是一个让我不太理解的改动。我并不认为去除 &lt;b&gt; 和 &lt;font&gt;标记会带来多大的好处。我知道，官方的指导说这些标记可以通过CCS来做更好的处理，但这样一来，为了在文章一两个地方出现的这 种标记，你就需要在独立的css和文本两个地方来实现这一的功能，岂不笨拙。也许我们以后会习惯这种方法。</p>
<p><strong>10. 不再使用 &lt;frame&gt;, &lt;center&gt;, &lt;big&gt; 标记</strong><br />
事实上，我已经记不清曾经何时用过这些标记了，所以，我并不为去除这些标记感到悲哀。相同的原因，有更好的标记能实现它们的功能——这很好，任何作废的标记从标准中剔除都是受欢迎的。</p>
<p>这10个HTML5和HTML4之间的不同只是整个新的规范中的一小部分。除了这些主要的变动外，我还可以略提一下一些次要的改动，比如修改了&lt;ol&gt; 标记的属性，让它能够倒排序，对&lt;u&gt;标记也做了修改。</p>
<p>所有这些次要的改动数量众多。而且新的修改也在不断的增加，因此，如果你想实时跟踪最新的动向，你需要经常的查看w3.org的<a href="http://dev.w3.org/html5/html4-differences/">HTML4 和 HTML5之间的不同</a>这个页面。如果你很心急，想在你的工作中使用这些新的标记和属性，我劝告你最好只是做实验，原因已经说的很清楚了，这些新标记和新属性在将来也许会有很大的改变，所以，除非你不断的更新你的代码，它们很可能会过期失效。</p>
<p>尽管如今大多数流行的浏览器的最新版都支持HTML5，但有些新的(或修改的)标记和属性它们并不支持，所以你的网页在用户的屏幕上有可能前后显示的不一致。耐心等待，等待HTML5真正可以实用时候。目前还不是时候。</p>
<p>文章来源:cnBeta</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shenjia.org/archives/138/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Node.js静态文件服务器实战</title>
		<link>http://www.shenjia.org/archives/135</link>
		<comments>http://www.shenjia.org/archives/135#comments</comments>
		<pubDate>Wed, 16 Nov 2011 03:02:47 +0000</pubDate>
		<dc:creator>杰森</dc:creator>
				<category><![CDATA[爱写代码]]></category>

		<guid isPermaLink="false">http://www.shenjia.org/?p=135</guid>
		<description><![CDATA[<h1>请君移步：<a href="http://cnodejs.org/blog/?p=3904">http://cnodejs.org/blog/?p=3904</a></h1>]]></description>
			<content:encoded><![CDATA[<h1>请君移步：<a href="http://cnodejs.org/blog/?p=3904">http://cnodejs.org/blog/?p=3904</a></h1>
]]></content:encoded>
			<wfw:commentRss>http://www.shenjia.org/archives/135/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>智慧的提问</title>
		<link>http://www.shenjia.org/archives/132</link>
		<comments>http://www.shenjia.org/archives/132#comments</comments>
		<pubDate>Sun, 25 Sep 2011 01:43:20 +0000</pubDate>
		<dc:creator>杰森</dc:creator>
				<category><![CDATA[爱上网]]></category>
		<category><![CDATA[爱写代码]]></category>
		<category><![CDATA[Ask]]></category>
		<category><![CDATA[Help]]></category>

		<guid isPermaLink="false">http://www.shenjia.org/?p=132</guid>
		<description><![CDATA[<a title="智慧的提问" href="http://wiki.woodpecker.org.cn/moin/AskForHelp" target="_blank">啄木鸟社区：智慧的提问</a>
http://wiki.woodpecker.org.cn/moin/AskForHelp]]></description>
			<content:encoded><![CDATA[<p><a title="智慧的提问" href="http://wiki.woodpecker.org.cn/moin/AskForHelp" target="_blank">啄木鸟社区：智慧的提问</a></p>
<p>http://wiki.woodpecker.org.cn/moin/AskForHelp</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shenjia.org/archives/132/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>linux下打包及解包命令汇</title>
		<link>http://www.shenjia.org/archives/129</link>
		<comments>http://www.shenjia.org/archives/129#comments</comments>
		<pubDate>Sun, 25 Sep 2011 01:24:35 +0000</pubDate>
		<dc:creator>杰森</dc:creator>
				<category><![CDATA[爱写代码]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.shenjia.org/?p=129</guid>
		<description><![CDATA[.tar
解包：tar xvf FileName.tar
打包：tar cvf FileName.tar DirName
（注：tar是打包，不是压缩！）
———————————————
.gz
解压1：gunzip FileName.gz
解压2：gzip -d FileName.gz
压缩：gzip FileName

.tar.gz 和 .tgz
解压：tar zxvf FileName.tar.gz
压缩：tar zcvf FileName.tar.gz DirName
———————————————
.bz2
解压1：bzip2 -d FileName.bz2
解压2：bunzip2 FileName.bz2
压缩： bzip2 -z FileName

.tar.bz2
解压：tar jxvf FileName.tar.bz2
压缩：tar jcvf FileName.tar.bz2 DirName
———————————————
.bz
解压1：bzip2 -d FileName.bz
解压2：bunzip2 FileName.bz
压缩：未知

.tar.bz
解压：tar jxvf FileName.tar.bz
压缩：未知
———————————————
.Z
解压：uncompress FileName.Z
压缩：compress FileName
.tar.Z

解压：tar Zxvf FileName.tar.Z
压缩：tar Zcvf FileName.tar.Z DirName
———————————————
.zip
解压：unzip FileName.zip
压缩：zip FileName.zip DirName
———————————————
.rar
解压：rar x FileName.rar
压缩：rar a FileName.rar DirName
———————————————
.lha
解压：lha -e FileName.lha
压缩：lha -a FileName.lha FileName
———————————————
.rpm
解包：rpm2cpio FileName.rpm &#124; cpio -div
———————————————
.deb
解包：ar p FileName.deb data.tar.gz &#124; tar zxf -
———————————————
.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea
解压：sEx x FileName.*
压缩：sEx a FileName.* FileName

&#160;

sEx只是调用相关程序，本身并无压缩、解压功能，请注意！

gzip 命令
减少文件大小有两个明显的好处，一是可以减少存储空间，二是通过网络传输文件时，可以减少传输的时间。gzip 是在 Linux 系统中经常使用的一个对文件进行压缩和解压缩的命令，既方便又好用。

语法：gzip [选项] 压缩（解压缩）的文件名该命令的各选项含义如下：

-c 将输出写到标准输出上，并保留原有文件。-d 将压缩文件解压。-l 对每个压缩文件，显示下列字段：     压缩文件的大小；未压缩文件的大小；压缩比；未压缩文件的名字-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。-t 测试，检查压缩文件是否完整。-v 对每一个压缩和解压的文件，显示文件名和压缩比。-num 用指定的数字 num 调整压缩的速度，-1 或 --fast 表示最快压缩方法（低压缩比），-9 或--best表示最慢压缩方法（高压缩比）。系统缺省值为 6。指令实例：

gzip *% 把当前目录下的每个文件压缩成 .gz 文件。gzip -dv *% 把当前目录下每个压缩的文件解压，并列出详细的信息。gzip -l *% 详细显示例1中每个压缩的文件的信息，并不解压。gzip usr.tar% 压缩 tar 备份文件 usr.tar，此时压缩文件的扩展名为.tar.gz。]]></description>
			<content:encoded><![CDATA[<p>.tar<br />
解包：tar xvf FileName.tar<br />
打包：tar cvf FileName.tar DirName<br />
（注：tar是打包，不是压缩！）<br />
———————————————<br />
.gz<br />
解压1：gunzip FileName.gz<br />
解压2：gzip -d FileName.gz<br />
压缩：gzip FileName</p>
<p>.tar.gz 和 .tgz<br />
解压：tar zxvf FileName.tar.gz<br />
压缩：tar zcvf FileName.tar.gz DirName<br />
———————————————<br />
.bz2<br />
解压1：bzip2 -d FileName.bz2<br />
解压2：bunzip2 FileName.bz2<br />
压缩： bzip2 -z FileName</p>
<p>.tar.bz2<br />
解压：tar jxvf FileName.tar.bz2<br />
压缩：tar jcvf FileName.tar.bz2 DirName<br />
———————————————<br />
.bz<br />
解压1：bzip2 -d FileName.bz<br />
解压2：bunzip2 FileName.bz<br />
压缩：未知</p>
<p>.tar.bz<br />
解压：tar jxvf FileName.tar.bz<br />
压缩：未知<br />
———————————————<br />
.Z<br />
解压：uncompress FileName.Z<br />
压缩：compress FileName<br />
.tar.Z</p>
<p>解压：tar Zxvf FileName.tar.Z<br />
压缩：tar Zcvf FileName.tar.Z DirName<br />
———————————————<br />
.zip<br />
解压：unzip FileName.zip<br />
压缩：zip FileName.zip DirName<br />
———————————————<br />
.rar<br />
解压：rar x FileName.rar<br />
压缩：rar a FileName.rar DirName<br />
———————————————<br />
.lha<br />
解压：lha -e FileName.lha<br />
压缩：lha -a FileName.lha FileName<br />
———————————————<br />
.rpm<br />
解包：rpm2cpio FileName.rpm | cpio -div<br />
———————————————<br />
.deb<br />
解包：ar p FileName.deb data.tar.gz | tar zxf -<br />
———————————————<br />
.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea<br />
解压：sEx x FileName.*<br />
压缩：sEx a FileName.* FileName</p>
<p>&nbsp;</p>
<p>sEx只是调用相关程序，本身并无压缩、解压功能，请注意！</p>
<p>gzip 命令<br />
减少文件大小有两个明显的好处，一是可以减少存储空间，二是通过网络传输文件时，可以减少传输的时间。gzip 是在 Linux 系统中经常使用的一个对文件进行压缩和解压缩的命令，既方便又好用。</p>
<p>语法：gzip [选项] 压缩（解压缩）的文件名该命令的各选项含义如下：</p>
<p>-c 将输出写到标准输出上，并保留原有文件。-d 将压缩文件解压。-l 对每个压缩文件，显示下列字段：     压缩文件的大小；未压缩文件的大小；压缩比；未压缩文件的名字-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。-t 测试，检查压缩文件是否完整。-v 对每一个压缩和解压的文件，显示文件名和压缩比。-num 用指定的数字 num 调整压缩的速度，-1 或 &#8211;fast 表示最快压缩方法（低压缩比），-9 或&#8211;best表示最慢压缩方法（高压缩比）。系统缺省值为 6。指令实例：</p>
<p>gzip *% 把当前目录下的每个文件压缩成 .gz 文件。gzip -dv *% 把当前目录下每个压缩的文件解压，并列出详细的信息。gzip -l *% 详细显示例1中每个压缩的文件的信息，并不解压。gzip usr.tar% 压缩 tar 备份文件 usr.tar，此时压缩文件的扩展名为.tar.gz。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shenjia.org/archives/129/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

