<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[UNIX 高手的10 个习惯（提高 Shell 操作的习惯）]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Thu, 24 Dec 2009 09:27:04 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	<br/><br/>The Linux Cookbook 一书的作者 Michael Stutz 凭借自己多年使用 UNIX 的经验，总结了 10 个良好习惯，个人认为真的很受用，现摘要如下与大家分享。<br/><br/> <br/><br/>&nbsp;&nbsp; 1. 建立层级目录：使用 mkdir 的 -p 选项，如 mkdir -p tmp/a/b/c。<br/>&nbsp;&nbsp; 2. 解包到指定的目录：使用 tar 的 -C 选项，如 tar xvf newarc.tar.gz -C tmp/a/b/c。<br/>&nbsp;&nbsp; 3. 联合命令：使用 ;、&&、&#124;&#124; 等控制运算符，如 cd tmp/a/b/c && tar xvf ~/archive.tar。<br/>&nbsp;&nbsp; 4. 小心使用变量：把变量放到 “” 中，如<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~ $ ls tmp/<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a b<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~ $ VAR="tmp/*"<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~ $ echo $VAR<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp/a tmp/b<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~ $ echo "$VAR"<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp/*<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~ $ echo $VARa<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~ $ echo "$VARa"<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~ $ echo "$&#123;VAR&#125;a"<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp/*a<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~ $ echo $&#123;VAR&#125;a<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmp/a<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~ $<br/>&nbsp;&nbsp; 5. 长命令的输入：使用 &#92; 分行折断，如<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~ $ cd tmp/a/b/c &#124;&#124; &#92;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> mkdir -p tmp/a/b/c && &#92;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> tar xvf -C tmp/a/b/c ~/archive.tar<br/>&nbsp;&nbsp; 6. 分组命令：使用 ()、&#123;&#125; 来分组命令，如<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~ $ ( cd tmp/a/b/c/ &#124;&#124; mkdir -p tmp/a/b/c && &#92;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> VAR=$PWD; cd ~; tar xvf -C $VAR archive.tar ) &#92;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;> &#124; mailx admin -S "Archive contents"<br/>&nbsp;&nbsp; 7. 使用 xargs：可以过滤输出，如<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~/tmp $ ls -l &#124; xargs<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-rw-r--r-- 7 joe joe 12043 Jan 27 20:36 December_Report.pdf -rw-r--r-- 1 &#92;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;root root 238 Dec 03 08:19 README drwxr-xr-x 38 joe joe 354082 Nov 02 &#92;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16:07 a -rw-r--r-- 3 joe joe 5096 Dec 14 14:26 archive.tar -rwxr-xr-x 1 &#92;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;joe joe 3239 Sep 30 12:40 mkdirhier.sh<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~/tmp $<br/>&nbsp;&nbsp; 8. 使用 grep 的 -c 选项可以计算输出的行数，它比使用管道的 wc -l 更快，如<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~ $ time grep and tmp/a/longfile.txt &#124; wc -l<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2811<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;real 0m0.097s<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;user 0m0.006s<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sys 0m0.032s<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~ $ time grep -c and tmp/a/longfile.txt<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2811<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;real 0m0.013s<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;user 0m0.006s<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sys 0m0.005s<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~ $<br/>&nbsp;&nbsp; 9. 匹配输出的字段：使用 awk，如<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~/tmp $ ls -l &#124; awk '$6 == "Dec"'<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-rw-r--r-- 3 joe joe 5096 Dec 14 14:26 archive.tar<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-rw-r--r-- 1 root root 238 Dec 03 08:19 README<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~/tmp $<br/>&nbsp;&nbsp;10. 停用 cat 的管道输出：可用 grep 代替，如<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~ $ time cat tmp/a/longfile.txt &#124; grep and<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2811<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;real 0m0.015s<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;user 0m0.003s<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sys 0m0.013s<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~ $ time grep and tmp/a/longfile.txt<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2811<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;real 0m0.010s<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;user 0m0.006s<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sys 0m0.004s<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;~ $<br/><br/>
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] UNIX 高手的10 个习惯（提高 Shell 操作的习惯）]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>