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
按修改时间定位文件
系统维护时常需根据时间查找文件,比如清理旧日志或找回最近修改的配置。
篇文章是针对git版本控制和工作流的总结,如果有些朋友之前还没使用过git,对git的基本概念和命令不是很熟悉,可以从以下基本教程入手: Git是分布式版本控制系统,与SVN类似的集中化版本控制系统相比,集中化版本控制系统虽然能够令多个团队成员一起协作开发,但有时如果中央服务器宕机的话,谁也无法在宕机期间提交更新和协同开发。甚至有时,中央服务器磁盘故障,恰巧又没有做备份或备份没及时,那就可能有丢失数据的风险。感兴趣的朋友可以过来看看
- 最近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结尾要用\;,{}前后有空格,这些小地方出错会导致命令无法执行。









