如何快速找出Linux系统中的大文件

juzi2周前技术22

在性能测试中,我们经常要关注系统磁盘空间,防止因磁盘空间占满而导致的报错。

那么具体怎么查看磁盘空间的大小呢?怎么找到占用   空间最大的文件进而删除呢?

 

   本文主要分享两个实用的命令:df 和 du,二者结合可以很方便的找 到系统中最大的文件。

 

  一、df 和 du 两者区别

     df,disk free, 可以快速获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

     du,disk usage,显示磁盘空间的使用情况,统计目录(或文件)所占磁盘空间的大小。

 是不是感觉字面看起来没啥区别呀?哈哈,实际有很多不同哦

 

 1、统计的范围不同

 df 是从总体上统计系统各磁盘的占用情况,不能统计具体的文件夹或  文件的大小。

 du 既可以从总体上统计,又可以统计具体的某个文件的大小。

 2、计算方式不同,计算速度不同

 df 通过文件系统来快速获取空间大小的信息,速度快,效率高

 du 通过逐级进入指定目录的每一个子目录,逐个计算每个文件大小并  相加,最终显示出来。

 所以计算速度慢,当文件目录较多文件较大时要等很久很久!!

 而且因为要进入每个子目录计算文件大小,如果当前用户对某些文件  夹没有访问权限时,无法进行计算。

 3、计算结果的差异

 df  可以获取已经删除的文件,由于df是通过文件系统来获取空间大小  的,当我们删除一个文件的时候,这个文件不是马上就在文件系统当 中消失了,而是暂时消失了,当所有程序都不用时,才会根据OS的规 则释放掉已经删除的文件。所以当一个文件刚删除清空没完全释放 时,df 仍会把它计算在内。(当你删除一个大文件前后可以分别用df 命令查看一下,刚删除时还在占用磁盘空间)

 du 只能看到当前存在的、没有被删除的文件。他计算的大小就是当前 他认为存在的所有文件大小的累加和。

 当文件系统也确定删除了该文件后,这时候du与df 的结果就一致了。

 所以在这一点上,可以说df 计算更精确,也可以说df 计算有延迟,根  据个人情况使用就行。

 下面看一下具体如何使用

 

二、df 和du 的使用

1、df -h (-h参数使结果以K,M,G为单位,提高信息的可读性)

当目录下文件特别多时,只想显示总文件大小时,用-s非常实用。

2、du -sh ./* (./* 指定当前目录)

在不指定目录的情况下,默认会显示当前目录下的所有子目录的大小。在指定目录的情况下,会分别显示指定目录下的所有文件大小。这一点很实用,可以找到具体哪个文件最大。

 

    三、如何使用df 和 du 双剑合璧找到大文件?

    1、首先df -h

 

2、du -sh  ./*

进入占用空间大的目录、或者是自己关注的目录下执行该命令

3、在列出来的文件中可以清晰的看到比较大的文件,进入对应目录下再次执行命令2,重复进行,直到找到最终的大文件目标,并删除,即可。


标签: 服务器

相关文章

云服务器挂载硬盘(此处以腾讯云服务器为例)

参考资料:http://bbs.qcloud.com/thread-12503-1-1.html,http://jingyan.baidu.com/article/48b37f8d393e9c1a65...

LNMP一键安装包使用教程

LNMP一键安装包使用教程

系统需求:CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin/Aliyun/Amazon/Mint Linux发行版需要5GB以上硬盘剩余空间,MySQL...

后台执行命令:&和nohup command & 以及关闭、查看后台任务

1.nohup用途:不挂断地运行命令。语法:nohup Command [ Arg … ] [ & ]  无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup....

Linux让命令在后台执行

1、Linux下一般比如想让某个程序在后台运行,很多都是使用&在程序结尾来让程序自动运行。比如我们要运行mysql在后台:/usr/local/mysql/bin/mysqld_safe&nb...

shell定时任务——每10秒访问一次网页

想做个定时任务,可是crontab最小只能一分钟执行一次。还有就是访问有参数的链接,访问出来的的不一样。用crontab每分钟执行一次crontab.sh文件crontab命令-e : 执行文字编辑器...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。