场景:
同样是一个10GB大小的文件:
在Finder中显示为10.74GB,
但是在Terminal命令行中显示均为10GB。
问题描述
在Mac OS的Terminal中使用指令ls -lh
以及ls -alh
显示结果均为10GB。
同一文件放在linux服务器上用termius软件的sftp功能显示的文件大小以及通过ssh中命令ls -l
显示的文件大小也是10GB。
只有在Finder中显示该文件大小为10.74GB。
原因分析:
Finder采用十进制方式计算文件大小而非传统的二进制。
10GB为1010241024*字节,即10737418240字节。此时直接用十进制来看可视为10.74e9B即10.74GB。
参考思路:
I also noticed that finder does not divide by 1024, but by 1000 when calculating size
解决方案:
实际上文件大小没有任何变化,只是Mac OS的Finder软件使用了不同寻常的十进制方式来展示文件的大小。这就造成了10GB大小的文件在Finder中显示为10.74GB的现象。