<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[静怡家园]]></title> 
<link>http://www.zhanghaijun.com/index.php</link> 
<description><![CDATA[书山有路勤为径，学海无涯苦作舟！]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[静怡家园]]></copyright>
<item>
<link>http://www.zhanghaijun.com/post//</link>
<title><![CDATA[不解压查看tar.gz文件的大小]]></title> 
<author>碟舞飞扬 &lt;webmaster@zhanghaijun.com&gt;</author>
<category><![CDATA[Linux技术]]></category>
<pubDate>Sat, 30 Jun 2012 08:12:41 +0000</pubDate> 
<guid>http://www.zhanghaijun.com/post//</guid> 
<description>
<![CDATA[ 
	在日常运维中你可能会有几十G或者上百G的文件压缩包，要查看里面的每个文件的大小的话，解压出来可能需要很长时间，而且要占用大量磁盘空间和系统CPU资源。因此，不解压查看文件大小很有必要。<br/><br/>不解压一个tar.gz文件，查看里面的文件明细的命令为：<br/><br/><span style="color: #FF0000;"># tar tvf dbzhj.tar.gz</span><br/><br/>输出形如：<br/>drwxr-xr-x root/root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 2012-06-30 15:02 dbzhj/<br/>-rw-r--r-- root/root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 349 2012-05-04 00:37 dbzhj/phpinfo.php<br/>-rw-r--r-- root/root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;26 2012-05-04 00:37 dbzhj/robots.txt<br/>-rw-r--r-- root/root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;29 2012-05-04 00:37 dbzhj/RELEASE-DATE-3.5.1<br/>-rw-r--r-- root/root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 391 2012-05-04 00:37 dbzhj/url.php<br/>-rw-r--r-- root/root&nbsp;&nbsp;&nbsp;&nbsp; 11366 2012-05-04 00:37 dbzhj/browse_foreigners.php<br/>-rw-r--r-- root/root&nbsp;&nbsp;&nbsp;&nbsp; 31160 2012-05-04 00:37 dbzhj/db_qbe.php<br/>-rw-r--r-- root/root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2157 2012-05-04 00:37 dbzhj/pmd_relation_upd.php<br/>-rw-r--r-- root/root&nbsp;&nbsp;&nbsp;&nbsp; 13553 2012-05-04 00:37 dbzhj/db_search.php<br/><br/><br/>从左起第三列数据就是文件大小（单位：字节），第6列就是文件名。如果要看得更清楚一点，用awk来过滤一下输出的结果：<br/><br/><span style="color: #FF0000;"># tar tvf dbzhj.tar.gz &#124; awk '&#123;print $3, $6&#125;'</span><br/><br/>这样就只输出第3和第6列，输出形如：<br/>349 dbzhj/phpinfo.php<br/>26 dbzhj/robots.txt<br/>29 dbzhj/RELEASE-DATE-3.5.1<br/>391 dbzhj/url.php<br/>11366 dbzhj/browse_foreigners.php<br/>31160 dbzhj/db_qbe.php<br/>2157 dbzhj/pmd_relation_upd.php<br/>13553 dbzhj/db_search.php<br/><br/>如果要以KB/MB/GB来显示文件大小，可以用第3列除N个1024，例如，如果要显示为GB，则：<br/><br/><span style="color: #FF0000;">#tar tvf dbzhj.tar.gz &#124; awk '&#123;print $3/1024/1024/1024, $6&#125;'</span><br/><br/>字节数连除3个1024，就是GB了，输出形如：<br/>3.25032e-07 dbzhj/phpinfo.php<br/>2.42144e-08 dbzhj/robots.txt<br/>2.70084e-08 dbzhj/RELEASE-DATE-3.5.1<br/>3.64147e-07 dbzhj/url.php<br/>1.05854e-05 dbzhj/browse_foreigners.php<br/>2.902e-05 dbzhj/db_qbe.php<br/>2.00886e-06 dbzhj/pmd_relation_upd.php<br/>1.26222e-05 dbzhj/db_search.php<br/><br/>如果对一个超大的文件（例如，上百G），并且压缩包里包含很多文件的话，这个过程将很漫长，让shell命令在后台执行，并将结果输出到一个文件中是一个比较合理的做法，如下：<br/><br/><span style="color: #FF0000;">#nohup tar tvf dbzhj.tar.gz &#124; awk '&#123;print $3/1024/1024/1024, $6&#125;' > /root/fileinfo.txt &</span><br/><br/>nohup 是保证shell命令无中断（网络状况不佳时，SecureCRT等客户端软件有可能中断与服务器的连接，从而命令还没执行完就被中断了）<br/><br/>Tags - <a href="http://www.zhanghaijun.com/tags/tar.gz/" rel="tag">tar.gz</a> , <a href="http://www.zhanghaijun.com/tags/linux/" rel="tag">linux</a> , <a href="http://www.zhanghaijun.com/tags/%25E6%2596%2587%25E4%25BB%25B6%25E5%25A4%25A7%25E5%25B0%258F/" rel="tag">文件大小</a>
]]>
</description>
</item><item>
<link>http://www.zhanghaijun.com/post//#blogcomment</link>
<title><![CDATA[[评论] 不解压查看tar.gz文件的大小]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.zhanghaijun.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>