【学习笔记】Linux系统文件查找--find命令 “-size”参数介绍

find命令

1.简介

find命令用来在文件系统上查找符合条件的文件。find命令有很好的灵活性,且功能强大,可以指定丰富的搜索条件(如文件权限、属主、属组、文件类型、日期和大小等)来定位系统中的文件和目录,同时还支持对搜索的结果进行命令操作。find命令是运维人员与安全从业人员必须掌握的文件查找命令。

2.语法格式

find 【路径】 【查询的条件】 【处理的动作】

3.应用场景

网络安全(日志,修改、指定),运维工程,开发工作中。

部分参数

1.-name:按照文件的名称查找。

2.-type:按照文件的基本属性查找。

3.-size:按照文件的大小查找。

4.-mtime:文件数据内容最后一次修改时间在n*24小时之前。

"-size"参数介绍

1.作用

find命令的-size参数用于查找符合指定文件大小的文件。

2.语法格式

find 【路径】 -size 【±】n【c/w/b/k/M/G]

  • 【路径】:指定开始搜索的目录,默认为当前目录。
  • 【±】可选符号,表示大小的范围。
  • ‘'+''表示大于指定大小;''-''表示小于指定大小。
  • n:一个数字,表示大小的数值。
  • 【c/w/b/k/M/G]:单位,这是关键部分,必须指定。

3.单位详解

单位字符

含义

说明

 c 

字节

文件大小的基本单位。

 w 

字(2字节)

较少使用。

 b 

块(512字节)

这是默认单位。如果省略所有单位字符,则 -size n 等价于 -size n b 。

 k 

千字节(KiB, 1024字节)

最常用的单位之一。

 M 

兆字节(MiB, 1024 KiB)

最常用的单位之一。

 G 

吉字节(GiB, 1024 MiB)

用于搜索大文件。

4实用示例

1.查找大小为 0 的文件(空文件)

find . -size 0

2.查找小于 100 KB 的文件

find . -size -100k

3.查找大于 1 GB 的文件

find /home -size +1G

4.查找大小在 1MB 到 1GB 之间的文件

find 命令本身不支持直接指定范围(如 1M - 1G),但可以通过组合条件来实现(使用 -a 表示 “and”,通常可以省略)。

find . -size +1M -size -1G

这个命令的意思是:查找大于 1MB 并且 小于 1GB 的文件。

5.查找大于 10MB 的 .log 文件并将其删除(非常谨慎的操作!)

find /var/log -name "*.log" -size +10M -delete

警告-delete 动作非常危险,请务必先在命令中去掉 -delete 运行一次,确认找到的文件确实是您想删除的。

注意事项与常见误区

  1. 默认单位是  b (块):这是最容易出错的地方! -size 50  表示的是 50个块(50 * 512字节 = 25600字节),而不是50字节。强烈建议始终显式地指定单位(如  k ,  M )。
  2. “精确”匹配是范围匹配:再次强调,无符号的  -size nU  匹配的是区间  [n, n+1) U 。例如  -size 2k  匹配的是  [2048, 3072)  字节的文件。
  3. 符号字符和单位字符之间不能有空格
  • 正确: -size +10M 
  • 错误: -size + 10 M  或  -size +10 M 

    4.与其他条件组合: find  的强大之处在于可以将  -size  与  -name ,  -mtime ,  -user ,  -exec  等参数组合使用,实现复杂的查找需求。

总结

命令示例含义
find . -size 10k大小在 10240 到 11263 字节之间的文件(因为 10k = 10240字节,舍入到 10k 块)。更简单的理解:约等于 10KB。
find . -size -10k大小小于 10240 字节的文件。
find . -size +10k大小大于或等于 11264 字节的文件。
find . -size +1M -size -1G大小大于 1MB 且小于 1GB的文件。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值