概述
在Windows系统中,我们一般会使用TreeSize工具查找一些大文件或文件夹,有时也会用魔方,非常方便高效,但是在Linux系统中,如何去搜索一些比较大的文件呢?下面对这块做了一下总结。
01
查找大文件
其实很多时候,你需要了解当前系统下有哪些大文件,比如文件大小超过100M或1G(阀值视具体情况而定)。那么如何把这些大文件搜索出来呢?
1、搜索当前目录下,超过100M大小的文件
# find . -type f -size +100M
说明:这里能看到超过100M大小的文件的文件名称,但是对文件的信息(例如,文件大小、文件属性)一无所知,下面继续深入下~
2、查看超过100M大小的文件及其相关信息
# find . -type f -size +800M -print0 | xargs -0 ls -l
3、查找超过100M大小文件,并显示查找出来文件的具体大小:
# find . -type f -size +100M -print0 | xargs -0 du -h
4、查找超过100M大小文件并对查找结果按照文件大小做一个排序
# find . -type f -size +800M -print0 | xargs -0 du -h | sort -nr
有时候排列的顺序并不完全是按大小一致,这个是因为du命令的参数h所致,最好是统一使用MB来显示,这样就能解决这个问题。
02
查找Linux下的大目录
这个主要适用于磁盘空间告警了,而又需要快速的了解哪些目录变得比较大,此时就可以借助du命令来帮我们解决这个问题。
# du -h --max-depth=1
如果想知道flash_recovery_area目录下面有哪些大文件夹,那么可以将参数max-depth=2 ,对搜索出来的结果进行排序,可以借助于sort命令。
# du -h --max-depth=2 | sort -n # du -hm --max-depth=2 | sort -n
如果只想查出最大的12个文件夹就要借助head命令来显示了
# du -hm --max-depth=2 | sort -nr | head -12
今天主要针对查找大文件和大目录的一些方法做了下介绍,这里重点是理解命令的用法,组合使用常常会有意想不到的后果哦!