天天看点

Linux如何查找大文件或目录总结

1: 如何查找大文件?

搜索当前目录下,超过100M大小的文件:

<code>[root@getlnx01 u03]# find . -type f -size +100M</code>

<code>./usr/local/jdk-7u67-linux-x64.tar.gz</code>

<code>./data/log/charge-service/test-access.log.</code><code>2016</code><code>-</code><code>08</code><code>-</code><code>08</code><code>.log</code>

<code>./data/log/aaa_service/test-access.log.</code><code>2016</code><code>-</code><code>08</code><code>-</code><code>09</code><code>.log</code>

<code>./home/deploy/logs/testmqlogs/otherdays/testmq_client.</code><code>1</code><code>.log</code>

<code>./home/deploy/logs/testmqlogs/otherdays/testmq_client.</code><code>2</code><code>.log</code>

<code>./opt/backend/charge-service/</code><code>1.2</code><code>/shared/console.log</code>

<code>./opt/backend/express_service/</code><code>0.0</code><code>.</code><code>3</code><code>.tar.gz</code>

<code>./opt/backend/aaa-service/</code><code>1.2</code><code>/shared/console.log</code>

更详细显示一些文件属性或信息:

<code>[root@getlnx01 u03]# find . -type f -size +100M  -print0 | xargs -</code><code>0</code> <code>ls -l</code>

<code>-rw-rw-r-- </code><code>1</code> <code>deploy deploy </code><code>542795006</code> <code>8</code><code>月  </code><code>30</code> <code>15</code><code>:</code><code>14</code> <code>./data/log/charge-service/test-access.log.</code><code>2016</code><code>-</code><code>08</code><code>-</code><code>08</code><code>.log</code>

<code>-rw-rw-r-- </code><code>1</code> <code>deploy deploy </code><code>225658142</code> <code>8</code><code>月  </code><code>25</code> <code>16</code><code>:</code><code>28</code> <code>./data/log/aaa_service/test-access.log.</code><code>2016</code><code>-</code><code>08</code><code>-</code><code>09</code><code>.log</code>

<code>-rw-rw-r-- </code><code>1</code> <code>deploy deploy </code><code>253623621</code> <code>8</code><code>月  </code><code>30</code> <code>15</code><code>:</code><code>15</code> <code>./home/deploy/logs/testmqlogs/otherdays/testmq_client.</code><code>1</code><code>.log</code>

<code>-rw-rw-r-- </code><code>1</code> <code>deploy deploy </code><code>373547598</code> <code>8</code><code>月  </code><code>25</code> <code>16</code><code>:</code><code>28</code> <code>./home/deploy/logs/testmqlogs/otherdays/testmq_client.</code><code>2</code><code>.log</code>

<code>-rw-rw-r-- </code><code>1</code> <code>deploy deploy </code><code>645631934</code> <code>8</code><code>月  </code><code>30</code> <code>15</code><code>:</code><code>15</code> <code>./opt/backend/charge-service/</code><code>1.2</code><code>/shared/console.log</code>

<code>-rw-rw-r-- </code><code>1</code> <code>deploy deploy </code><code>209314900</code> <code>8</code><code>月  </code><code>30</code> <code>15</code><code>:</code><code>15</code> <code>./opt/backend/aaa-service/</code><code>1.2</code><code>/shared/console.log</code>

<code>-rw-r--r-- </code><code>1</code> <code>root   root   </code><code>315334884</code> <code>12</code><code>月 </code><code>21</code> <code>2015</code> <code>./opt/backend/express_service/</code><code>0.0</code><code>.</code><code>3</code><code>.tar.gz</code>

<code>-rw-r--r-- </code><code>1</code> <code>root   root   </code><code>142376665</code> <code>6</code><code>月  </code><code>11</code> <code>2015</code> <code>./usr/local/jdk-7u67-linux-x64.tar.gz</code>

<code>-rw-rw-r-- </code><code>1</code> <code>deploy deploy </code><code>105085974</code> <code>8</code><code>月  </code><code>30</code> <code>15</code><code>:</code><code>15</code> <code>./usr/local/push-tomcat/logs/push/info.log6829699375703641.tmp</code>

当我们只需要查找超过100M大小文件,并显示查找出来文件的具体大小,并排序(下)

<code>[root@getlnx01 u03]# find . -type f -size +100M  -print0 | xargs -</code><code>0</code> <code>du -h</code>

<code>102M     ./usr/local/push-tomcat/logs/push/info.log6829699375703641.tmp</code>

<code>136M     ./usr/local/jdk-7u67-linux-x64.tar.gz</code>

<code>518M     ./data/log/charge-service/test-access.log.</code><code>2016</code><code>-</code><code>08</code><code>-</code><code>08</code><code>.log</code>

<code>216M     ./data/log/aaa_service/test-access.log.</code><code>2016</code><code>-</code><code>08</code><code>-</code><code>09</code><code>.log</code>

<code>242M     ./home/deploy/logs/testmqlogs/otherdays/testmq_client.</code><code>1</code><code>.log</code>

<code>357M     ./home/deploy/logs/testmqlogs/otherdays/testmq_client.</code><code>2</code><code>.log</code>

<code>616M     ./opt/backend/charge-service/</code><code>1.2</code><code>/shared/console.log</code>

<code>301M     ./opt/backend/express_service/</code><code>0.0</code><code>.</code><code>3</code><code>.tar.gz</code>

<code>201M     ./opt/backend/aaa-service/</code><code>1.2</code><code>/shared/console.log</code>

<code>[root@getlnx01 u03]# find . -type f -size +100M  -print0 | xargs -</code><code>0</code> <code>du -h | sort -nr</code>

<code>243M     ./home/deploy/logs/testmqlogs/otherdays/testmq_client.</code><code>1</code><code>.log</code>

不过如上截图所示,有时候排列的顺序并不完全是按大小一致,这个是因为du命令的参数h所致,你可以统一使用使用MB来显示,这样就能解决这个问题。到这里,这个在Linux系统查找大文件的命令已经非常完美了,当然如果你还有很多的需求,那么可以在这个命令上做修改、调整.

2: 如何查找Linux下的大目录

譬如有时候磁盘空间告警了,而你平时又疏于管理、监控文件的增长,那么我需要快速的了解哪些目录变得比较大,那么此时我们可以借助du命令来帮我们解决这个问题。

<code>[root@getlnx01 u03]# du -h --max-depth=</code><code>1</code>

<code>16K     ./lost+found</code>

<code>33G     ./flash_recovery_area</code>

<code>37G     ./oradata</code>

<code>70G     .</code>

<code>如果你想知道flash_recovery_area目录下面有哪些大文件夹,那么可以将参数max-depth=</code><code>2</code> <code>,如果你想对搜索出来的结果进行排序,那么可以借助于sort命令。如下所示</code>

<code>[root@getlnx01 u03]# du -h --max-depth=</code><code>2</code> <code>| sort -n</code>

<code>3</code><code>.5G    ./flash_recovery_area/EPPS</code>

<code>29G     ./flash_recovery_area/backup</code>

<code>37G     ./oradata/epps</code>

<code>[root@getlnx01 u03]# du -hm --max-depth=</code><code>2</code> <code>| sort -n</code>

<code>1</code>       <code>./lost+found</code>

<code>3527</code>    <code>./flash_recovery_area/EPPS</code>

<code>29544</code>   <code>./flash_recovery_area/backup</code>

<code>33070</code>   <code>./flash_recovery_area</code>

<code>37705</code>   <code>./oradata</code>

<code>37705</code>   <code>./oradata/epps</code>

<code>70775</code>   <code>.</code>

<code>[root@getlnx01 /]# du -hm --max-depth=</code><code>2</code> <code>| sort -nr | head -</code><code>12</code>

<code>407480</code>  <code>.</code>

<code>167880</code>  <code>./u04</code>

<code>158685</code>  <code>./u02/oradata</code>

<code>158685</code>  <code>./u02</code>

<code>152118</code>  <code>./u04/oradata</code>

<code>70775</code>   <code>./u03</code>

<code>37705</code>   <code>./u03/oradata</code>

<code>33070</code>   <code>./u03/flash_recovery_area</code>

<code>5995</code>    <code>./u01/app</code>

<code>5995</code>    <code>./u01</code>

<code>3551</code>    <code>./usr</code>

<code>1558</code>    <code>./usr/share</code>

参考资料:

<a href="http://linuxandfriends.com/how-to-find-large-files-in-linux-using-command-line/" target="_blank">http://linuxandfriends.com/how-to-find-large-files-in-linux-using-command-line/</a>

<a href="http://www.docin.com/p-563963500.html" target="_blank">http://www.docin.com/p-563963500.html</a>

本文转自奔跑在路上博客51CTO博客,原文链接http://blog.51cto.com/qiangsh/1844338如需转载请自行联系原作者

qianghong000

继续阅读