超详细的Linux查找大文件和查找大目录技巧

概述

在Windows系统中,我们一般会使用TreeSize工具查找一些大文件或文件夹,有时也会用魔方,非常方便高效,但是在Linux系统中,如何去搜索一些比较大的文件呢?下面对这块做了一下总结。


01

查找大文件

其实很多时候,你需要了解当前系统下有哪些大文件,比如文件大小超过100M或1G(阀值视具体情况而定)。那么如何把这些大文件搜索出来呢?

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

# find . -type f -size +100M

超详细的Linux查找大文件和查找大目录技巧

说明:这里能看到超过100M大小的文件的文件名称,但是对文件的信息(例如,文件大小、文件属性)一无所知,下面继续深入下~

2、查看超过100M大小的文件及其相关信息

# find . -type f -size +800M -print0 | xargs -0 ls -l

超详细的Linux查找大文件和查找大目录技巧

3、查找超过100M大小文件,并显示查找出来文件的具体大小:

# find . -type f -size +100M -print0 | xargs -0 du -h

超详细的Linux查找大文件和查找大目录技巧

4、查找超过100M大小文件并对查找结果按照文件大小做一个排序

# find . -type f -size +800M -print0 | xargs -0 du -h | sort -nr

超详细的Linux查找大文件和查找大目录技巧

有时候排列的顺序并不完全是按大小一致,这个是因为du命令的参数h所致,最好是统一使用MB来显示,这样就能解决这个问题。


02

查找Linux下的大目录

这个主要适用于磁盘空间告警了,而又需要快速的了解哪些目录变得比较大,此时就可以借助du命令来帮我们解决这个问题。

# du -h --max-depth=1

超详细的Linux查找大文件和查找大目录技巧

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

# du -h --max-depth=2 | sort -n
# du -hm --max-depth=2 | sort -n

超详细的Linux查找大文件和查找大目录技巧

如果只想查出最大的12个文件夹就要借助head命令来显示了

# du -hm --max-depth=2 | sort -nr | head -12

超详细的Linux查找大文件和查找大目录技巧


今天主要针对查找大文件和大目录的一些方法做了下介绍,这里重点是理解命令的用法,组合使用常常会有意想不到的后果哦!

原文地址:https://www.cnblogs.com/grimm/p/12921726.html