为什么lsblk -f和df -h获取到的空间数值不同?

占位,待解决

前因:

 

  我想要获取当前磁盘空间使用情况,其中 lsblk -f 可以获取到可用空间大小及已用百分比, df -h 可以获取到可用空间大小、已用空间大小和已用百分比。其中相对来说,df -h 可以通过选项获取到更详细的磁盘使用大小,也更符合常规的需求。

 

问题:

 

  lsblk -f 查询到的可用空间、已用百分比都要比df -h小。

uos@uos-PC:~/test$ lsblk -f
NAME        FSTYPE LABEL     UUID                                 FSAVAIL FSUSE% MOUNTPOINT
sr0                                                                              
nvme0n1                                                                          
├─nvme0n1p1 vfat   EFI       4C11-F319                             292.9M     2% /boot/efi
├─nvme0n1p2 ext4   Boot      c1efc23e-f370-4c00-b697-686041ba2c02    1.3G     7% /boot
├─nvme0n1p3 ext4   Roota     6eda50e4-1891-49ad-bfd5-4443961cc140    8.1G    39% /
├─nvme0n1p4 ext4   Rootb     783d65d5-ef9e-43f2-86d5-a3343d2cb7d9                
├─nvme0n1p5 ext4   _dde_data ccb16e5c-2a3d-4d2b-b061-8e019e7cec46  165.6G     2% /data
├─nvme0n1p6 ext4   Backup    c82ab9b4-9d13-48a5-a81f-85c6c2e0b5d7    6.5G    47% /recovery
└─nvme0n1p7 swap   SWAP      0d473d81-c312-48bd-99e2-21c3f1deb56c                [SWAP]
uos@uos-PC:~/test$ df -h
文件系统        容量  已用  可用 已用% 挂载点
udev            3.9G     0  3.9G    0% /dev
tmpfs           797M  2.9M  794M    1% /run
/dev/nvme0n1p3   15G  5.9G  8.2G   42% /
tmpfs           3.9G  421M  3.5G   11% /dev/shm
tmpfs           5.0M  4.0K  5.0M    1% /run/lock
tmpfs           3.9G     0  3.9G    0% /sys/fs/cgroup
/dev/nvme0n1p6   14G  6.6G  6.6G   51% /recovery
/dev/nvme0n1p2  1.5G  100M  1.3G    8% /boot
/dev/nvme0n1p5  178G  3.2G  166G    2% /data
/dev/nvme0n1p1  300M  6.6M  293M    3% /boot/efi
tmpfs           797M   92K  797M    1% /run/user/1000

 

答案(临时总结):

 

  目前已知的差别在于,lsblk 看的是 block device 即逻辑磁盘的大小,而 df -h 则是文件系统的大小。

  但是lsblk -f选项本身的含义为“ -f, --fs             output info about filesystems”,即同样为文件系统信息,这样的情况下为什么会出现可用空间大小和已用百分比不统一的情况呢?

 

补充:

可能的一种原因:https://blog.csdn.net/yui/article/details/6046708

posted @ 2021-01-14 14:37  Saryta  阅读(3446)  评论(0编辑  收藏  举报