文件与目录管理-find 📁 — 查找文件和目录

作用

find 在指定路径下递归搜索文件和目录,支持按名称、类型、大小、时间、权限等多维条件组合过滤,并可对结果执行自定义操作(删除、复制、执行命令等)。

语法

find [路径] [条件] [动作]

用法

find 从指定路径向下递归遍历。-name 按文件名匹配(支持通配符),-iname 忽略大小写;-type f/d/l 过滤文件/目录/链接;-size +100M 按大小筛选;-mtime -7 查找 7 天内修改的文件。-exec 命令 {} \; 对结果执行操作。逻辑运算:-a(与)、-o(或)、!(非)。

常用参数

参数说明
-name按文件名匹配
-iname忽略大小写匹配
-type f/d/l文件/目录/链接
-size +100M按大小过滤
-mtime +7按修改时间(天)
-mmin -60按修改时间(分钟)
-perm 644按权限匹配
-user按所有者
-empty空文件/目录
-maxdepth N最大搜索深度
-exec CMD {} \;对结果执行命令
-ok交互式确认执行

示例

find /etc -name "*.conf"          # 查找 /etc 下所有 .conf 文件
find . -type f -size +100M        # 查找当前目录下超过 100MB 的文件
find /tmp -mtime +7 -exec rm {} \;  # 查找 7 天前的文件并删除
find . -name "*.LOG" | xargs rm -f # 配合 xargs 删除所有 .log 文件
find . -type d -empty -delete     # 删除所有空目录
find . -name "*.TXT" -a -size -10K  # 查找 .txt 且小于 10KB 的文件

来源: 菜鸟教程

🔗 相关文档

文件与目录管理-locate | 文件与目录管理-ls | 文件与目录管理-tree | 文件与目录管理-stat