ls 和 du 显示文件大小不一致通常说明该文件是一个稀疏文件。两者的区别在于:
ls获取的是文件元信息中的逻辑文件长度(即文件系统记录的文件大小字段),反映文件的逻辑边界du获取的是文件实际占用的磁盘数据块大小,反映真实的磁盘空间消耗
正常情况下,du 的结果通常略大于 ls(因为数据块可能未完全填满)。但如果 ls 显示的大小远大于 du(例如 ls 显示 198GB 而 du 仅 12MB),则说明文件中存在大量未实际分配磁盘空间的 hole 区域,是典型的稀疏文件特征。遇到这种情况应该检查文件的生成和轮转方式是否存在异常操作。