linux 查找大目录和大文件的方法(推荐)

时间:2021-05-22

今天,在机器上执行命令的时候,发现tab键无法补全了,原因竟然是磁盘空间满了,使用df命令看了一下,确实如此,每个分区的使用率都得到100%了,因此想找到系统中的大目录和大文件,删除一部分。

主要涉及到两个命令 du和find

du命令(查找系统中的大目录):

-h已易读的格式显示指定目录或文件的大小

-s选项指定对于目录不详细显示每个子目录或文件的大小

-m或–megabytes 以1MB为单位

–max-depth=1:其中,数字“1”是指查询结果中最多显示的目录层数,这里指最多显示一层目录。

首先使用df命令,查看各挂载点磁盘空间的使用情况,然后从使用率接近100%的目录下,查看其各个子目录的大小情况

du -sm * 2> /dev/null | sort -nr | head -5

可以使用sort对du输出的结果进行一个排序(如果du使用h参数,可能得不到正确的排序结果)

以上方法只是对目录大小进行判定,所以当确定某目录过大时,最好是cd到该目录,查看下有无大文件,然后再确定是否进入下一层目录。

find命令(查找系统中的大文件)

获取某个目录下大于800M的所有文件

find . -type f -size +800M

如上命令所示,我们仅仅能看到超过800M大小的文件的文件名称,但是对文件的信息(例如,文件大小、文件属性)一无所知,那么能否更详细显示一些文件属性或信息呢,当然可以,使用如下命令:

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


当找到大文件后,若因某些原因,不想对文件进行删除,可以用echo或cat或clear命令清除文件内容

echo > a.log

clear > a.log

以上这篇linux 查找大目录和大文件的方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章