当前位置: 首页 > news >正文

find 命令使用介绍

find 是 Linux 系统中最强大的文件查找命令。 它可以按 文件名、类型、大小、时间、权限 等多种条件递归搜索目录,执行指定操作


基本语法

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

  • 路径:从哪个目录开始查找(默认当前目录 .

  • 条件:限定文件的筛选规则

  • 操作:找到后执行的动作(如打印、删除等)


常用查找条件

条件含义示例
-name按文件名匹配(支持通配符)find . -name "*.c"
-iname忽略大小写的匹配find . -iname "*.jpg"
-type按类型查找:
f 文件, d 目录, l 链接
find /etc -type d
-size按大小查找(单位:k、M、G)find . -size +10M
-mtime按修改时间(天)find . -mtime -3 (3天内修改)
-mmin按修改时间(分钟)find . -mmin -10 (10分钟内修改)
-user查找属于某用户的文件find /home -user root
-perm按权限查找find . -perm 644
-empty查找空文件或空目录find . -empty

常用操作动作

操作说明示例
默认(无操作)打印路径find . -name "*.log"
-print显式打印(默认动作)find /tmp -type f -print
-delete删除匹配文件find . -name "*.o" -delete
-exec CMD {} \;对每个匹配结果执行命令find . -name "*.c" -exec grep -H "usb" {} \;
-exec CMD {} +批量执行命令(更快)find . -name "*.c" -exec rm {} +
-ok CMD {} \;交互确认执行命令find . -name "*.bak" -ok rm {} \;

常见实用示例

1. 查找名为 test.c 的文件
find / -name test.c# 2. 查找大于 100M 的文件
find /home -size +100M# 3. 查找最近 1 天修改的文件
find . -mtime -1# 4. 删除所有 .o 临时文件
find . -name "*.o" -delete# 5. 查找并统计所有 .c 文件数量
find . -name "*.c" | wc -l# 6. 查找并执行命令(例如打印包含 "usb" 的行)
find . -name "*.c" -exec grep -H "usb" {} \;# 7. 查找空目录
find . -type d -empty# 8. 查找 777 权限文件
find / -type f -perm 777# 9. 按多个条件组合:查找大文件且最近修改
find /var -size +10M -mtime -7# 10. 查找并批量删除(安全高效)
find logs/ -name "*.log" -mtime +7 -exec rm -f {} +

逻辑组合条件

运算符说明示例
-a逻辑与(默认)find . -type f -a -size +1M
-o逻辑或find . -name "*.c" -o -name "*.h"
! 或 -not逻辑非find . ! -name "*.c"

性能与注意事项

  • 对大目录使用 -exec CMD {} +\; 更快;

  • 若仅按文件名匹配,可使用 locatefd 提速;

  • 删除操作建议先打印确认:

  • find . -name "*.tmp" -print # 确认后 find . -name "*.tmp" -delete

  • 使用 xargs 可进一步提升效率:

  • find . -name "*.log" | xargs rm -f

官方源码仓库(GNU findutils)

  • Git 仓库地址: 👉 https://git.savannah.gnu.org/git/findutils.git

  • Web 浏览器在线查看(推荐): 👉 https://git.savannah.gnu.org/cgit/findutils.git/tree/

  • 主页与说明文档: 👉 https://www.gnu.org/software/findutils/

http://www.dtcms.com/a/446045.html

相关文章:

  • 蓝桥杯Python备考全攻略:从入门到精通
  • 数据结构初阶(第六讲)单链表的功能实现
  • 做付费推广哪个网站好工作室网页模板
  • 合川网站建设天津自助建站
  • 元模型训练中平衡历史数据与实时市场变化的关系
  • 新手直播冷场难破?场景模拟工具解决测试与练手难题
  • 半球陀螺仪吸气剂热激活真空共晶炉
  • C++多态特性详解
  • 嵌入式第六十七天(SPI子系统架构)
  • MVC 视图
  • 公司网站运营方案东莞市建设工程检测中心网站
  • 从 C 到 C++:用 C 语言思维理解面向对象四大特性
  • SOFA 架构--02--核心中间件与工具
  • 如何利用淘宝建设网站挣钱在线注册个体工商户
  • 近世代数(抽象代数)详细笔记--域
  • 计算机网络第四章(5)——网络层《路由协议+路由协议》
  • KingbaseES在Alibaba Cloud Linux 3 的深度体验,从部署到性能实战
  • Oracle OCP认证考试题目详解082系列第50题
  • 网站建设流程百科wordpress响应式博客主题模版
  • Leetcode 3704. Count No-Zero Pairs That Sum to N
  • 微信小程序入门学习教程,从入门到精通,WXSS样式处理语法基础(9)
  • 网站开发技术 文库国外医院网站设计
  • 旅游网站建设的总结深圳市勘察设计
  • 企业网站建设费用的预算西安seo网站关键词
  • jvm垃圾回收算法和垃圾收集器(Serial、Parallel、Parnew、CMS)
  • R 绘图 - 条形图
  • 基于GitHub Copilot的自动化测试流水线
  • MacOS 下 Warp ping 局域网设备报错 ping: sendto: No route to host 的解决方法
  • 网站建设服务标语湖北网站建设搭建
  • reset arp all 概念及题目