最近我试图使用各种命令找出文件的大小,它显示了巨大的差异.
ls -ltr显示它的大小约为34GB(由我舍入的字节),而du -sh文件名显示它大约为11GB.stat命令显示大约34GB左右.任何想法,哪个是最可靠的命令来查找文件的实际大小?
对它执行了一些复制操作,我们不确定这是否适当地完成,因为在执行复制的某个时间源文件被我们的工作删除之后.
tha*_*guy 16
这里没有不准确或可靠性问题,您只是比较两个不同的数字:逻辑大小与物理大小.
这是维基百科对稀疏文件的说明:

ls显示灰色+绿色区域,文件的逻辑长度.du(没有--apparent-size)只显示绿色区域,因为那些是占用空间的区域.
您可以使用创建稀疏文件dd count=0 bs=1M seek=100 of=myfile.
ls 显示100MiB,因为这是文件的长度:
$ ls -lh myfile
-rw-r----- 1 me me 100M Jul 15 10:57 myfile
Run Code Online (Sandbox Code Playgroud)
du 显示0,因为它分配了多少数据:
$ du myfile
0 myfile
Run Code Online (Sandbox Code Playgroud)