图解Linux命令之--du命令

来源:互联网 发布:浙江省统计局数据库 编辑:程序博客网 时间:2024/05/29 19:03

du命令-->disk usage的缩写,用于显示指定目录或文件所占用的磁盘空间


du命令含义

du(disk usage),含义是磁盘空间使用情况,功能是逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块的情况.du是面向文件的命令,只计算被文件占用的空间。不计算文件系统metadata占用的空间。

df则是基于文件系统总体来计算,通过文件系统中未分配空间来确定系统中已经分配空间的大小



du & df详细对比

1) du查看目录大小,df查看磁盘使用情况

2) du是面向文件的命令,只计算被文件占用的空间。不计算文件系统metadata 占用的空间。df则是基于文件系统总体来计算,通过文件系统中未分配空间来确定系统中已经分配空间的大小。df命令可以获取硬盘占用了多少空间,还剩下多少空间,它也可以显示所有文件系统对i节点和磁盘块的使用情况

3) du -sh命令通过将指定文件系统中所有的目录、符号链接和文件使用的块数累加得到该文件系统使用的总块数;
而df命令通过查看文件系统磁盘块分配图得出总块数与剩余块数。文件系统分配其中的一些磁盘块用来记录它自身的一些数据,如i节点,磁盘分布图,间接块,超级块等。这些数据对大多数用户级的程序来说是不可见的,通常称为Meta Data

4) du统计文件大小相加,df  统计数据块使用情况,如果有一个进程在打开一个大文件的时候,这个大文件直接被rm或者mv掉,则du会更新统计数值,df不会更新统计数值,还是认为空间没有释放。直到这个打开大文件的进程被Kill掉。我们碰到的问 题是,我们在定期删除/var/spool/clientmqueue下面的文件,但是没有杀掉其进程,所以空间一直没有释放。使用下面的命令杀掉进程之后,系统恢复。
fuser -u /var/spool/clientmqueue


备注

1) 一个文件系统可能耗尽空间不只是因为大文件用完了所有可用空间,也可能是因为很多小文件用完了所有可能的inode。用“-i”选项展示inode使用情况

2) udev是一个虚拟文件系统(并非真实存在的设备)。 同样的还有proc,sys,tmpfs,devpts

1 0
原创粉丝点击