欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

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

程序员文章站 2022-06-23 19:42:06
今天,在机器上执行命令的时候,发现tab键无法补全了,原因竟然是磁盘空间满了,使用df命令看了一下,确实如此,每个分区的使用率都得到100%了,因此想找到系统中的大目录和大...

今天,在机器上执行命令的时候,发现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 查找大目录和大文件的方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。