欢迎来到程序员中文网!

首页 Linux Mysql C++ Python PHP JavaScript 资源下载 动态 开源推荐
我要投稿 投诉建议

find 命令高级用法:按时间、大小、权限精确查找与操作

时间:2026年08月12日 05:26:48 浏览:0

find 命令高级用法:按时间、大小、权限精确查找与操作


find 是 Linux 最强大的搜索工具,掌握高级选项可极大提高效率。


1. 按时间查找



  • -atime:访问时间(天)

  • -mtime:修改时间

  • -ctime:状态改变时间

  • -amin / -mmin / -cmin:分钟级


# 查找 7 天内修改的文件
find /data -type f -mtime -7

# 查找 30 天前修改的日志并删除
find /var/log -name "*.log" -mtime +30 -delete

2. 按大小查找



  • -size:支持 c(字节)、kMG


# 查找大于 100MB 的文件
find / -type f -size +100M -exec ls -lh {} \;

# 查找空文件
find /tmp -type f -size 0

3. 按权限查找



  • -perm:精确或包含权限


# 查找权限为 755 的文件
find /usr/bin -type f -perm 755

# 查找任何用户可写的文件(不安全)
find / -type f -perm -002

4. 组合条件与操作



  • -o (或), -a (且,默认)

  • -exec:执行命令({} 替换文件,\; 结束)

  • -execdir:在文件所在目录执行,更安全


# 批量压缩所有 .txt 文件
find . -name "*.txt" -exec gzip {} \;

# 批量修改权限
find . -type d -exec chmod 755 {} \;

5. 性能优化



  • 使用 -maxdepth 限制递归深度。

  • 优先使用 -name 缩小范围。

  • 避免在根目录执行耗时的 find(如 find / -type f),可用 locate 代替。