find

在目录树中搜索文件和目录

语法

find [path] [expression]

参数

参数说明示例级别
-name 按文件名匹配(支持通配符) find . -name "*.log" 常用
-type 按类型筛选(f=文件, d=目录) find . -type f 常用
-size 按大小筛选 find . -size +100M 常用
-mtime 按修改时间筛选(天) find . -mtime -7 常用
-exec 对结果执行命令 find . -name "*.tmp" -exec rm {} \; 进阶
-delete 删除匹配的文件 find . -name "*.bak" -delete 危险
-maxdepth 限制搜索深度 find . -maxdepth 2 -name "*.js" 常用

示例

查找所有 JS 文件

find src/ -name "*.js"

查找大文件

find / -type f -size +500M 2>/dev/null
2>/dev/null 隐藏权限错误

查找最近 7 天修改的文件

find . -type f -mtime -7
-7 表示 7 天内

查找并删除临时文件

find . -name "*.tmp" -type f -delete
谨慎使用 -delete

查找空目录

find . -type d -empty

常见错误

find: 'xxx': Permission denied 加 2>/dev/null 隐藏错误,或用 sudo

技巧

相关命令