df 命令报告错误的用法

df 命令报告错误的用法

我的 eMMC 设备有一个分区,该分区报告 df -h 命令的以下输出:

Filesystem       Size  Used Avail Use% Mounted on
/dev/mmcblk2p3    16Z   16Z   84M 100% /data

不过分区大小为 100MB!分区格式为ext4。如上所示,输出报告了已用空间的巨大值。实际上,该分区仅使用了大约 5MB,但由于某种原因 df 报告了巨大的价值。当我通过 du -sh 命令检查分区使用的大小时,它报告以下内容:

#du -sh
5.8MB

我还通过une2fs命令检查了输出,下面是我得到的结果:

Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              25688
Block count:              102400
Reserved block count:     5120
Overhead blocks:        50343939
Free blocks:              87634
Free inodes:              25190
First block:              1
Block size:               1024
Fragment size:            1024
Reserved GDT blocks:      256
Fragments per group:      8192
Inodes per group:         1976
Inode blocks per group:   247
Flex block group size:    16
Filesystem created:       Thu Nov 21 06:38:03 2019
Last mount time:          Thu Mar 10 13:20:58 2022
Last write time:          Thu Mar 10 13:20:58 2022
Mount count:              31
Maximum mount count:      -1
Last checked:             Sat Jan 22 08:17:33 2022
Check interval:           0 (<none>)
Lifetime writes:          604 MB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:               128
Journal inode:            8

知道什么是开销块以及为什么开销块显示巨大的数字吗?尽管 df 命令的输出表明使用率为 100%,但我仍然能够在分区中创建文件。知道如何确保 df 命令返回正确的值而不是 100% 使用率,或者如何清除une2fs 中列出的“开销块”?

我的脚本会检查分区的使用百分比,如果使用率 >70%,则删除文件。由于 df 命令始终显示 100% 使用率,因此它始终会删除任何文件。请让我知道 df 命令是否适合使用或者我应该使用像 du 这样的其他命令。

相关内容