GNU -size
的{{1}}标志行为奇怪。假设我在目录中有以下三个文件:
find
其中两个文件小于1MB,另一个大约9MB。哪个文件的大小小于50K?
$ lh
total 8.7M
-rw------- 1 wvoq wvoq 42K 2012-05-24 18:25 small
-rw------- 1 wvoq wvoq 7.3K 2012-05-24 18:37 tiny
-rw------- 1 wvoq wvoq 8.7M 2012-05-24 18:37 big
这是我们所期望的。但是它的大小不到1MB?
$ find -type f -size -50k
small
tiny
必要的是,任何小于50k的文件也都不到1M,那么为什么会出现差异呢?更令人不安的是,我们有:
$ find -type f -size -1M
$
似乎表明$ find -type f -size -2M
small
tiny
和small
的大小介于1到2 MB之间,实际上它们都<50k。这里发生了什么?
答案 0 :(得分:2)
看起来像是,嗯,违反最小惊喜的原则?具有舍入行为。什么不到1M? 0M。 :-P