find
find 命令 - 文件搜索
find 是 Linux 中最强大的文件搜索工具,可以根据文件名、大小、修改时间、权限等多种条件递归查找文件,并支持对找到的文件执行操作。
命令语法
find [路径] [表达式] [操作]
常用参数
| -name | 按文件名查找(区分大小写,支持通配符) |
| -iname | 按文件名查找(不区分大小写) |
| -type | 按类型查找(f=文件,d=目录,l=符号链接) |
| -size | 按文件大小查找 |
| -mtime | 按修改天数查找 |
| -mmin | 按修改分钟数查找 |
| -perm | 按权限查找 |
| -user | 按所有者查找 |
| -exec | 对找到的文件执行命令 |
| -delete | 删除找到的文件 |
实战示例
- $ find . -name "*.log"在当前目录查找所有 .log 文件
- $ find / -name "nginx.conf"全盘搜索 nginx.conf 文件
- $ find . -type f -size +100M查找大于 100MB 的文件
- $ find . -mtime -7查找最近7天修改过的文件
- $ find . -name "*.tmp" -delete查找并删除所有 .tmp 文件
- $ find /var/log -name "*.log" -mtime +30 -delete删除30天前的日志文件
- $ find . -type f -exec chmod 644 {} \;查找所有文件并修改权限
- $ find . -name '*.txt'查找当前目录下所有.txt文件
- $ find /var -type f -size +100M查找/var下大于100M的文件
温馨提示
find 配合 -exec 可以实现批量操作。查找大文件用 find / -type f -size +1G。删除前建议先用 find 查看确认。