两者区别

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 显示磁盘分区的文件系统类型。

查看系统的分区使用情况,并显示文件系统的类型:

  1. $ df -hT
  1. ![952033-20180706131717073-1992471021.png](https://cdn.nlark.com/yuque/0/2019/png/318075/1556246687099-adbdab53-64f0-4b4e-bd72-ba6bc91346b5.png "952033-20180706131717073-1992471021.png")

可以从上面的命令获得磁盘的分区情况,每个分区的总容量、使用容量、剩余容量。

查看某个目录所在分区的磁盘使用情况:

  1. $ df -h nodedemo/

952033-20180706131808944-352808298.png

输出文件系统的 inodes 信息

  1. $ df -ih

952033-20180706131838308-1732580103.png

du 命令

显示文件或目录所占的磁盘空间。

命令格式: du [option] 文件/目录
-h 以容易理解的格式(给人看的格式)输出文件系统分区使用情况,例如 10kB、10MB、10GB 等。
-s 显示文件或整个目录的大小,默认单位为 kB。

显示当前目录的大小:

  1. $ du -hs

952033-20180706132011644-661057746.png

显示某个目录或文件的大小:

  1. $ du -hs nodedemo/
  2. $ du -hs nodedemo/Dockerfile

952033-20180706132049505-37618333.png

显示当前目录下所有文件的大小:

  1. $ du -hs ./*

952033-20180706132125204-197549.png
包括当前目录下的文件和子目录。

注意下面写法的区别:

  1. $ du hs xxxx 显示目录总大小,不会列出目录中的每一个文件
  2. $ du hs xxxx/* 列出 xxxx下每个目录和文件所占容量

注意,不要直接执行 du 命令,它会遍历并列出目录下的所有文件,你会被输出的结果所淹没!

转载:
https://www.cnblogs.com/sparkdev/p/9273094.html