使用命令后磁盘空间发生的变化

使用命令后磁盘空间发生的变化

有人能帮助我理解为什么根据使用的命令我会得到不同的 /mnt/kvm_images 磁盘空间结果吗?这是在 Ubuntu 14.04 中。

du 得出以下结果:

andrew@ubuntu:~$ sudo du -sh /mnt/kvm_images/ 
  20K     /mnt/kvm_images/

df 这个结果:

andrew@ubuntu:~$ sudo df -h
Filesystem                         Size  Used Avail Use% Mounted on
/dev/mapper/ubuntu--vg-root         90G  9.1G   76G  11% /
none                               4.0K     0  4.0K   0% /sys/fs/cgroup
udev                               963M  4.0K  963M   1% /dev
tmpfs                              195M  660K  195M   1% /run
none                               5.0M     0  5.0M   0% /run/lock
none                               974M     0  974M   0% /run/shm
none                               100M     0  100M   0% /run/user
/dev/sda1                          236M   38M  186M  17% /boot
/dev/mapper/ubuntu--vg-kvm_images  394G   71M  374G   1% /mnt/kvm_images

最后 ls:

andrew@ubuntu:~$ ls -lh /mnt/kvm_images/
total 16K
-rwxr-xr-x 1 libvirt-qemu kvm   50G Mar 26 04:00 desktop.img
drwx------ 2 root         root  16K Mar 22 15:17 lost+found
-rwxr-xr-x 1 root         root 200G Mar 25 00:33 monitoring.img

答案1

Dan D. 是对的。因为它们是稀疏文件,所以不同的命令对它们的大小有不同的处理方式。有些命令报告磁盘上的实际大小,有些命令报告文件系统为其分配的空间量。du 的明显大小选项允许在两者之间切换。

andrew@ubuntu:~$ sudo du -sh --apparent-size /mnt/kvm_images/
51G     /mnt/kvm_images/
andrew@ubuntu:~$ sudo du -sh /mnt/kvm_images/
6.2G    /mnt/kvm_images/

相关内容