为什么 df 得到的结果与 lsblk 不一致?

sho*_*key 3 filesystems disk-usage disk

在此处输入图片说明

df 产生的输出与 lsblk 一致

debian8@hwy:~$ df -h   /dev/sda1
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        47G   34G   14G  72% /media/xp_c
debian8@hwy:~$ df -h   /dev/sda3
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        92G   36G   52G  42% /
Run Code Online (Sandbox Code Playgroud)

df 产生的输出与 lsblk 不一致

debian8@hwy:~$ df -h   /dev/sda4
Filesystem      Size  Used Avail Use% Mounted on
udev             10M     0   10M   0% /dev
debian8@hwy:~$ df -h   /dev/sda5
Filesystem      Size  Used Avail Use% Mounted on
udev             10M     0   10M   0% /dev
debian8@hwy:~$ df -h   /dev/sda6
Filesystem      Size  Used Avail Use% Mounted on
udev             10M     0   10M   0% /dev
debian8@hwy:~$ df -h   /dev/sda7
Filesystem      Size  Used Avail Use% Mounted on
udev             10M     0   10M   0% /dev
Run Code Online (Sandbox Code Playgroud)

如何解释lsblkdf -h的输出?
有时 df 无法获得有关磁盘的正确信息。

sudo fdisk -l 

Disk /dev/sda: 232.9 GiB, 250059350016 bytes, 488397168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x3b2662b1

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sda1  *         2048  97851391  97849344 46.7G  7 HPFS/NTFS/exFAT
/dev/sda2        97851392 195508223  97656832 46.6G 83 Linux
/dev/sda3       195508224 390819839 195311616 93.1G 83 Linux
/dev/sda4       390821886 449411071  58589186   28G  5 Extended
/dev/sda5       390821888 400584703   9762816  4.7G 82 Linux swap / Solaris
/dev/sda6       400586752 439646207  39059456 18.6G  b W95 FAT32
/dev/sda7       439648256 449411071   9762816  4.7G  7 HPFS/NTFS/exFAT
Run Code Online (Sandbox Code Playgroud)

tyl*_*erl 5

其实有两个问题。第一个是其他人指出的显而易见的:lsblk 按设备列出磁盘,df 在已安装的文件系统上工作。所以lsblk /dev/sda3大致相当于df -h /你的情况,因为 /dev/sda3 安装在 / 上。

除了它不是。因为lsblk列出了分区的大小,同时df列出了文件系统的大小。差异(在您的示例中 sda3 为 93.1GB 与 92GB)是不可用空间(如果有)和文件系统开销的组合。一些空间需要用于跟踪文件系统本身而不是它存储的文件的内容。