GNU find -size标志是否已损坏?

时间:2012-05-25 17:48:37

标签: find gnu

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。这里发生了什么?

1 个答案:

答案 0 :(得分:2)

看起来像是,嗯,违反最小惊喜的原则?具有舍入行为。什么不到1M? 0M。 :-P