GNU的-size
标志find
表现得很奇怪。假设我在一个目录中有以下三个文件:
$ 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,另一个约为 9MB。哪些文件的大小小于 50K?
$ find -type f -size -50k
small
tiny
这是我们所期望的。但是哪些大小小于 1MB?
$ find -type f -size -1M
$
必然地,任何小于 50k 的文件也小于 1M,那么为什么会出现差异呢?更令人不安的是,我们有:
$ find -type f -size -2M
small
tiny
这似乎表明small
并且tiny
大小在 1 到 2 MB 之间,而实际上它们都小于 50k。这里发生了什么事?