df로 얻은 결과가 lsblk와 일치하지 않는 이유는 무엇입니까?

df로 얻은 결과가 lsblk와 일치하지 않는 이유는 무엇입니까?

여기에 이미지 설명을 입력하세요.

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% /

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

출력을 해석하는 방법LSBLK그리고df-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

답변1

사실 두 가지 문제가 있습니다. 첫 번째는 다른 사람들이 지적한 것처럼 명백한 것입니다. lsblk는 장치별로 디스크를 나열하고 df는 마운트된 파일 시스템에 대해 작동합니다. /dev/sda3이 /에 마운트되어 있으므로 상황 lsblk /dev/sda3과 거의 동일합니다 .df -h /

그러나 그것은 진실이 아니다. lsblk파티션의 크기가 나열되므로 파일 df시스템의 크기도 나열됩니다. 차이점(예제에서 sda3의 경우 93.1GB와 92GB)은 사용할 수 없는 공간(있는 경우)과 파일 시스템 오버헤드의 조합입니다. 파일 시스템에 저장되는 파일의 내용이 아닌 파일 시스템 자체를 추적하려면 일정량의 공간이 필요합니다.

답변2

/dev/sda4파티션 등은 마운트되지 않습니다. 마운트되지 않았기 때문에 df특수 파일 등이 있는 파일 시스템의 크기가 보고됩니다 /dev/sda4. 이는 에 마운트된 것입니다 /dev. sudo file -s /dev/sda4이러한 파티션에 어떤 파일 시스템이 있는지 알아보려면 etc. df얼마나 많은 공간이 사용되고 있는지 또는 사용 가능한지 확인하기 위해 사용하려면 어딘가에 설치하십시오.

한 가지 예:

$ df /dev/sdb1            # /dev/sdb1 is not currently mounted
Filesystem     1K-blocks  Used Available Use% Mounted on
udev              234040     0    234040   0% /dev

$ sudo mount /dev/sdb1 /mnt
$ df /dev/sdb1             # Now it is mounted and df can show used and free space
Filesystem     1K-blocks   Used Available Use% Mounted on
/dev/sdb1       60787696 498464  60289232   1% /mnt

답변3

이는 df가 마운트된 파일 시스템에 대한 정보만 표시하기 때문입니다. sda1 및 sda3이 설치되어 올바른 정보를 표시합니다.

관련 정보