Linux下find命令——根据文件的大小查找(带截图)

        最近在学习Linux下命令,偶尔发现网上不少对于find -size命令的解释都是错误的。

        比如查找当前目录下文件大小小于1k的文件:find . -size -1k (这是错误的),你会发现什么都找不到。

        接下来的说明都是在ubuntu的虚拟机下做的。

        首先:ls -lh

                    -l:以长格式显示目录下的内容列表。

                    -h:使用比较接近文件大小的单位显示。

        可以发现,client文件夹里共有9个文件(4个小于1k的,2个介于1k和2k之间的,3个大于2k的)

① 三种情况

       结果显示如上图。发现第一条命令以为可以找到“查找当前目录下文件大小小于1k的文件”,结果查找结果为空。

② 我们来看find . -size  -#SIZE到底是查找多少大小范围内的文件

        对比发现,下面比上面多找到了一个文件(红框内),而由上面可知client_interface.c的大小刚好为5.0k。

        是因为find . -size -#SIZE查找的是【0,#SIZE-1】大小的文件。

        例如find . -size -6k查找的文件大小为【0,5】,两边都是闭。

③ find . -size +#SIZE

        发现只有13k的client文件被找到,5.0k的client_interface.c没有被找到。

        是因为find . -size +#SIZE查找的是(#SIZE,正无穷),不包含#SIZE大小的。

④ find . -size #SIZE

        发现只有5.0k的client_interface.c被找到。

        是因为find . -size #SIZE查找的是(#SIZE-1,#SIZE】,左开右闭。

⑤总结:

    find -size [+|-]#SIZE,常用单位:k,M,G。

         #SIZE:(#SIZE-1,#SIZE】

         - #SIZE:【0,#SIZE-1】

         +#SIZE:(#SIZE,正无穷)

这是我第一次在CSDN上写博客,欢迎大家指正。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值