欢迎,来自IP地址为:13.58.121.131 的朋友


作为Linux系统的管理员,定期查看系统的目录及文件磁盘占用情况是十分必要的,可以将不需要而又占用大量磁盘容量的文件删除,以腾出更多的磁盘空间。

本文将讲解如何使用 du 命令和 find 命令来找出Linux系统占用磁盘空间最大的目录和文件。

使用如下命令,就可以将/var目录下占用空间最大的目录显示出来:

# du -a /var | sort -n -r | head -n 5

让我们对上面命令及各个参数加以说明:

du : 命令,用于估算文件空间大小

-a :  参数表示显示所有文件和目录

sort : 命令,用于对文本进行排序

-n -r : sort命令参数,表示根据数值大小排序,并按反向排序(正向是由小到大,反向是由大到小)

head : 命令,用于前面的内容

-n : head命令参数,用于指定显示的行数(本例显示5行)

由于输出的结果是以字节来表示的,可能不方便查看,可以给上面的 du 命令加入 -h 参数,就可以将结果以人类方便阅读的习惯显示出来。

# du -ha /var | sort -n -r | head -n 5

以下这条命令就可以查看所有目录占用空间的大小:

# du -hs * | sort -rh | head -5

同样,如果想把目录中的子目录分别统计,那么要使用以下命令:

# du -Sh | sort -rh | head -5

如果想统计单个文件的大小,那么需要使用 find 命令,示例如下:

# find -type f -exec du -Sh {} + | sort -rh | head -n 5

这条命令会找到系统中占用磁盘空间最大的5个文件,当然,如果想要在特定目录中查找,则只需要在 find 命令中指定目录即可,例如:

# find /downlaods -type f -exec du -Sh {} + | sort -rh | head -n 5

find 命令在特定目录中查找最大文件,还有如下用法:

# find /downlaods -type f -printf "%s %p\n" | sort -rh | head -n 5

得到结果与第一条命令的一致,但是文件大小会以字节来显示,所以推荐使用第一种。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注