find命令可高效查找文件并处理,支持按名称(-name/-iname)、大小(-size)、时间(-mtime/-ctime)搜索,结合通配符、单位符号及逻辑组合条件,并通过-exec或xargs执行删除、复制等操作,提升命令行效率。
find命令是linux系统中功能最强大的文件查找工具之一。它不仅能按名称、大小、时间等条件搜索文件,还能结合其他命令对结果进行处理。掌握一些实用技巧,能大幅提升你在命令行下的工作效率。
按文件名查找
最常用的用法是根据文件名搜索。使用-name选项时支持通配符,便于模糊匹配。
- 区分大小写搜索: find /path -name “filename.txt”
- 忽略大小写: find /path -iname “readme.txt”(这样README、ReadMe也能匹配)
- 使用通配符: find /home -name “*.log” 可找出所有日志文件
按文件大小筛选
当需要查找过大或过小的文件时,-size选项非常有用。支持k(KB)、M(MB)、G(GB)单位。
- 查找大于100MB的文件: find /var -size +100M
- 查找小于50KB的文件: find /tmp -size -50k
- 精确匹配1G的文件: find . -size 1G
按修改时间定位文件
系统维护时常需根据时间查找文件,比如清理旧日志或找回最近修改的配置。

Find JSON Path Online
30
Easily find JSON paths within JSON objects using our intuitive Json Path Finder

- 最近7天内修改的文件: find . -mtime -7
- 恰好10天前的文件: find /logs -mtime 10
- 24小时内更改过的文件: find . -ctime -1
组合条件与执行操作
find支持逻辑组合,并可通过-exec或xargs调用其他命令处理结果。
- 查找并删除: find /tmp -name “*.tmp” -exec rm {} ;
- 查找并复制: find . -name “*.conf” -exec cp {} /backup/ ;
- 配合grep过滤内容: find . -name “*.txt” | xargs grep “Error”
- 多个条件组合: find /home -name “*.pdf” -size +50M -mtime -30(pdf、大于50M、30天内修改)
基本上就这些。灵活运用这些技巧,可以快速定位系统中的目标文件,并自动化后续操作,不复杂但容易忽略细节。比如注意-exec结尾要用;,{}前后有空格,这些小地方出错会导致命令无法执行。
评论(已关闭)
评论已关闭