【发布时间】:2015-07-15 17:31:31
【问题描述】:
最近我尝试使用各种命令找出文件的大小,结果显示出巨大的差异。
ls -ltr 显示其大小约为 34GB(字节由我四舍五入),而
du -sh 文件名显示它大约为 11GB。尽管
stat 命令显示相同为 34GB 左右。
知道哪个是查找文件实际大小的最可靠命令吗?
对其执行了一些复制操作,我们不确定这是否正确完成,因为在某个时间执行复制的源文件被我们的工作删除。
【问题讨论】:
-
我猜这是一个稀疏文件,du 告诉它当前的磁盘使用情况,ls 它声明的大小(如果你修改文件减少空白块的运行可能会达到)
-
尽管如此,我想一切皆有可能。
-
@l'L'l:为什么这么不寻常?
$ truncate -s 10T foo; ls -l foo; du -sh foo将提供10995116277760和0。 -
@rodrigo,实际上,我的意思是,如果有问题的文件不是稀疏的,或者
ls -lsh和du -h; du -bh之间存在重大差异,这将是不寻常的。您显示的示例给出了一个明显的文件大小和一个实际的文件大小,所以它当然会完全不同。