Linux find 命令使用整理
find 是 Linux 系统中最常用的文件搜索命令之一。它可以根据文件名、时间、大小、类型、权限等条件在目录树中进行高效搜索,并支持批量处理、删除、执行命令等功能。
1. 基本语法
1 | |
默认路径是当前目录,默认动作是 -print。
常见的 find 组件包括:
- 路径:搜索起点
- 表达式:过滤条件
- 动作:
-print、-delete、-exec等
2. 常见搜索示例
按文件名查找
1 | |
按文件类型查找
1 | |
查找最近 1 天内修改过的文件
1 | |
查找大于 100MB 的文件
1 | |
3. 删除过期文件
如果需要删除 /tmp 目录中超过 1 天的 coredump 文件,可以使用:
1 | |
其中:
-mtime +1:表示修改时间大于 1 天-delete:删除匹配文件
4. 配合 -exec 执行命令
1 | |
这会对匹配到的每个日志文件执行删除操作。
5. 限制搜索深度
1 | |
-maxdepth 可以限制递归搜索的层级,适合缩小搜索范围。
6. 按权限过滤
1 | |
或者:
1 | |
7. 常见选项说明
| 选项 | 含义 |
|---|---|
-name |
按文件名匹配 |
-path |
按路径匹配 |
-type |
按文件类型匹配 |
-size |
按文件大小匹配 |
-mtime |
按修改时间匹配 |
-user |
按所属用户匹配 |
-group |
按所属用户组匹配 |
-maxdepth |
最大递归深度 |
-delete |
删除匹配结果 |
-exec |
对结果执行命令 |
8. 实用建议
- 在生产环境中,删除文件前建议先用
find进行预览,确认匹配范围无误。 - 若要批量处理文件,优先使用
-exec或-delete,避免手动逐个操作。 - 对于很大的目录树,建议配合
-maxdepth、-size、-mtime等条件减少搜索量。
9. 总结
find 是 Linux 环境中不可或缺的文件管理工具之一。它不仅能快速定位文件,还能结合时间、大小、权限等条件实现批量处理。熟练掌握 find 的常用用法,能显著提升运维和文件管理效率。
Linux find 命令使用整理
https://jgq12138.github.io/2023/06/19/linux_find/