在网上搜寻find -size的参数时,通常都会有b,c,k,w 四个参数,但是这通常是指linux
这句话很重要,因为不同的unix版本,甚至是不同级别同种的unix shell命令都会有不同,
而在solaris中,find - size 就没有b,k,w这两个参数,
不妨看看 man find的结果(部分) -size n[c]
True if the file is n blocks long (512 bytes per block).
If n is followed by a c, the size is in bytes.
具体而言,就是find -size就支持c这个参数如果没有,默认就是b,即一个blocks(513字节)
如果乱加一通参数,例如你加上k,w参数,仍然默认为以block来记数
例如下面这个命令,我们是想在当前目录下查到size大于100m的文件
find . -size +102400m
find . -size +100000k
可是在solaries 下运行时,却把那些文件大小只50多兆的也查询出来
why? 分析一下102400m 到底是多少因为此时m是一个废的参数,所以系统仍然以block来计算
而根据man的提示,一个block是512bytes,即0.5k 102400*0.5/1000=51.2m(1m=1000k)
find . -size +102400m 实际结果是查询size大于51.2m的文件,
所以搜索出一个 size大小为58m就不足为奇矣!