为什么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