我不知道为什么会得到以下结果:
ls -l
告诉我给定文件的大小(HISTORY)为“ 581944”:
$ ls -l HISTORY
-rw-rw-r-- 1 waldyrious waldyrious 581944 Feb 22 10:59 HISTORY
ls -s
说是“ 572”:
$ ls -s HISTORY
572 HISTORY
我显然需要使这些值使用可比较的比例。因此,首先我确认--block-size 1
in 使用ls -l
与以前相同的结果:
$ ls -l --block-size 1 HISTORY
-rw-rw-r-- 1 waldyrious waldyrious 581944 Feb 22 10:59 HISTORY
然后,我做同样的事情ls -s
来获得相同规模的价值:
$ ls -s --block-size 1 HISTORY
585728 HISTORY
结果不同!581944≠585728。
我尝试使用来生成可比较的值-k
,但是得到了:
$ ls -lk HISTORY
-rw-rw-r-- 1 waldyrious waldyrious 569 Feb 22 10:59 HISTORY
$ ls -sk HISTORY
572 HISTORY
同样,不同的结果569≠572。
我尝试指定--si以确保两个选项都使用相同的比例,但无济于事:
$ ls -lk --si HISTORY
-rw-rw-r-- 1 waldyrious waldyrious 582k Feb 22 10:59 HISTORY
$ ls -sk --si HISTORY
586k HISTORY
......再次,不同的值:582k≠586k。
我尝试搜索网络,但唯一能找到的似乎是这样的:
某些文件中有“孔”,因此
ls -s
(...)列出的使用情况小于ls -l
。列出的文件大小。”
(请注意,在我的结果中,情况恰恰相反:ls -s
返回的大小大于ls -l
,而不是较小。)
同时,此页显示
没有优雅的方法可以检测Unix文件漏洞。
那么,我该如何处理这种差异?以下哪个值可以被认为是正确的?这可能是其中的错误ls
吗?
ls -s
计算呢?