两者区别
du,disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在的,没有被删除的。他计算的大小就是当前他认为存在的所有文件大小的累加和。
df,disk free,通过文件系统来快速获取空间大小的信息,当我们删除一个文件的时候,这个文件不是马上就在文件系统当中消失了,而是暂时消失了,当所有程序都不用时,才会根据OS的规则释放掉已经删除的文件, df记录的是通过文件系统获取到的文件的大小,他比du强的地方就是能够看到已经删除的文件,而且计算大小的时候,把这一部分的空间也加上了,更精确了。
当文件系统也确定删除了该文件后,这时候du与df就一致了。
df 命令
检查磁盘空间占用情况(并不能查看某个目录占用的磁盘大小。
命令格式:df [option]
-h 以容易理解的格式(给人看的格式)输出文件系统分区使用情况,例如 10kB、10MB、10GB 等。
-k 以 kB 为单位输出文件系统分区使用情况。
-m 以 mB 为单位输出文件系统分区使用情况。
-a 列出所有的文件系统分区,包含大小为 0 的文件系统分区。
-i 列出文件系统分区的 inodes 信息。
-T 显示磁盘分区的文件系统类型。
查看系统的分区使用情况,并显示文件系统的类型:
$ df -hT

可以从上面的命令获得磁盘的分区情况,每个分区的总容量、使用容量、剩余容量。
查看某个目录所在分区的磁盘使用情况:
$ df -h nodedemo/
输出文件系统的 inodes 信息:
$ df -ih
du 命令
显示文件或目录所占的磁盘空间。
命令格式:
du [option] 文件/目录
-h 以容易理解的格式(给人看的格式)输出文件系统分区使用情况,例如 10kB、10MB、10GB 等。
-s 显示文件或整个目录的大小,默认单位为 kB。
显示当前目录的大小:
$ du -hs
显示某个目录或文件的大小:
$ du -hs nodedemo/
$ du -hs nodedemo/Dockerfile
显示当前目录下所有文件的大小:
$ du -hs ./*
包括当前目录下的文件和子目录。
注意下面写法的区别:
$ du –hs xxxx 显示目录总大小,不会列出目录中的每一个文件
$ du –hs xxxx/* 列出 xxxx下每个目录和文件所占容量
注意,不要直接执行 du 命令,它会遍历并列出目录下的所有文件,你会被输出的结果所淹没!