Eu acho que este link pode esclarecer as coisas, Especificações do Grupo Open Base Edição 7, IEEE Std 1003.1, Edição 2013 . Aqui está um trecho da seção da especificação para encontrar:
excerto da especificação de pesquisa
The -size operand refers to the size of a file, rather than the number of blocks it may occupy in the file system. The intent is that the st_size field defined in the System Interfaces volume of POSIX.1-2008 should be used, not the st_blocks found in historical implementations. There are at least two reasons for this:
In both System V and BSD, find only uses st_size in size calculations for the operands specified by this volume of POSIX.1-2008. (BSD uses st_blocks only when processing the -ls primary.)
Users usually think of file size in terms of bytes, which is also the unit used by the ls utility for the output from the -l option. (In both System V and BSD, ls uses st_size for the -l option size field and uses st_blocks for the ls -s calculations. This volume of POSIX.1-2008 does not specify ls -s.)
Se eu entendi esta seção corretamente, a primeira seção diz tudo "O operando -size refere-se ao tamanho de um arquivo". Então o tamanho é o que é reportado ao avaliar st_size NOT st_blocks.
Exemplos
Então você deve poder usar comandos como:
# find files over 1G in size
$ find / -type f -size +1G
# find files smaller than 1G in size
$ find / -type f -not -size +1G