当前位置: 首页 > 科技观察

Linux下du-sh和ls-lh显示不同的磁盘使用情况

时间:2023-03-13 03:47:34 科技观察

简介Linux下可以使用ls-lh或du-sh*查看文件大小。但有时,命令返回的文件大小不同。为什么是这样?之所以du-sh*是计算文件在磁盘上存储了多少空间,占用了多少块。ls-lh计算文件的实际大小。一般来说,在存储文件的时候,block很少是刚刚被填满的,所以du-sh*一般都比ls-lh大。但也有一些特殊文件,如稀疏文件。稀疏文件(SparseFile)稀疏文件,这是UNIX等文件系统的一个特性。稀疏文件与其他普通文件基本相同,只是文件中有部分数据全为0,这部分数据不占用磁盘空间。它可以延迟磁盘空间的分配,特别适用于虚拟机。比如分配一个100G的文件作为磁盘,这100G的空间在虚拟机中是认可的,但实际物理机只分配到已用空间。总结所以在清理空间的时候,使用du-sh*找大文件清理。如果遇到稀疏文件,ls-lh会误判。