行万里 2019-11-14
有时候我们在系统上安装了数十个应用程序,随着使用时间的推移,许多文件变得越来越大,从而导致磁盘空间越来越小。那么问题来了,如何找到系统上这些大文件,然后进行一番磁盘空间清理呢,这篇文章就此介绍几种查找大文件的方法。注意:仅限于Linux系统。
第一种:ls
最简单的方法就是借助 ls 命令,因为 ls 命令本身输出是带文件大小信息的。
比如,我要列出 /bin 目录中的 5 个最大文件,可以:
第二种:find
find 本身就是查找命令,可以递归查找一个目录的子目录,所以用它是自然的。
比如,查找 / 目录下最大的一个文件:
如果要找前 10 个大文件呢,可以这样:
也可以使用 -size 选项来查找,以下命令将显示大于100MiB(注意不是100MB,MiB和MB的区别,emmm)的所有文件:
也可以查找一个区间大小的(比如 100MiB 和 200MiB )之间的文件:
最后,下面这个命令也比较常用,查找某个目录最大的5个文件:
补充一点,find 也可以查找最近的文件:少于或等于n天(-ctime -n)的文件或属于特定用户(-user mrlinus)的文件。
第三种:du
du 命令可以查看磁盘空间的使用情况,自然也可以用来查看磁盘上占用空间较多的文件和文件夹。
比如,查找 /home 下前 20 个最大的文件:
查找当前文件夹中最大的 10 个目录:
如果要显示可读的KB、MB、GB信息,可以加上 -h 参数:
查找最大目录/文件(包括子文件夹):
如果只看大小在 GB 范围内的所有文件,可以同时使用 du 命令和 grep 命令: