news 2026/5/6 18:02:40

【操作实践】Linux find 高级用法与多级目录查找实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【操作实践】Linux find 高级用法与多级目录查找实战

Linuxfind高级用法与多级目录查找实战

在日常 Linux 开发和运维中,find是一个非常强大的文件搜索工具。除了简单的按文件名查找,它还能按目录、大小、时间、权限,甚至执行批量操作,非常适合多层级目录的管理。本文结合实际案例,带你全面掌握find的高级用法。


一、find基本语法

find[起始路径][查找条件][操作]
  • 起始路径:要搜索的目录,如果用.表示当前目录。
  • 查找条件:文件名、类型、大小、修改时间等。
  • 操作:可以执行命令,例如-exec-delete

二、按类型查找

# 查找所有目录find/path/to/search -type d# 查找所有普通文件find/path/to/search -type f# 查找符号链接find/path/to/search -type l

三、按名称查找

# 精确匹配find.-name"test.txt"# 忽略大小写find.-iname"test.txt"# 通配符匹配find.-name"*.log"

四、按大小和时间查找

# 大于 100MB 的文件find.-type f -size +100M# 最近 7 天修改过的文件find.-type f -mtime -7# 最近 1 小时修改的文件find.-type f -mmin -60

五、结合逻辑操作符

# 查找所有 .txt 或 .log 文件find.\(-name"*.txt"-o -name"*.log"\)# 查找 .txt 文件且大小 > 1Mfind.-name"*.txt"-a -size +1M

逻辑操作符:

  • -a/-and:并且(默认)
  • -o/-or:或者
  • !/-not:非

六、执行操作

# 删除找到的临时文件find.-name"*.tmp"-type f -delete# 压缩所有 js 文件find.-name"*.js"-type f -execgzip{}+# 使用 + 批量执行,提高效率find.-name"*.log"-type f -execgzip{}+

七、查找空文件或空目录

# 空文件find.-type f -empty# 空目录find.-type d -empty

八、按权限或拥有者查找

# 权限为 755 的文件find.-type f -perm755# 拥有者为 user 的文件find.-user user# 属组为 group 的文件find.-group group

九、限制查找深度

# 最多查找两级目录find.-maxdepth2-type f# 从第三级目录开始查找find.-mindepth3-type f

十、多级目录查找示例

假设你要查找路径./coze-studio/frontend/packages/common下的文件或目录:

# 查找所有文件find./coze-studio/frontend/packages/common -type f# 查找所有目录find./coze-studio/frontend/packages/common -type d# 查找该路径下所有 js 文件find./coze-studio/frontend/packages/common -type f -name"*.js"# 限制查找深度,只查当前目录find./coze-studio/frontend/packages/common -maxdepth1-type f

十一、查找指定多级路径

如果你想查找完整路径,例如:

coze-arch/coze-design/icons

直接用-name是找不到的,应该用-path

# 精确匹配多级路径目录find/ -type d -path"*/coze-arch/coze-design/icons"# 忽略大小写匹配find/ -type d -ipath"*/coze-arch/coze-design/icons"# 查找该目录下的 svg 文件find/ -type f -path"*/coze-arch/coze-design/icons/*.svg"

注意:

  • *表示路径前缀任意层级
  • -path匹配整个路径
  • -ipath忽略大小写匹配

十二、高级示例汇总

# 查找大于 100MB 且最近 7 天修改的日志文件并压缩find/var/log -type f -name"*.log"-size +100M -mtime -7 -execgzip{}+# 删除 ./coze-studio/frontend/packages/common 下所有临时文件find./coze-studio/frontend/packages/common -type f -name"*.tmp"-delete# 查找指定多级目录并查看详细信息find/ -type d -path"*/coze-arch/coze-design/icons"-execls-lh{}\;

总结

  1. -name:匹配单个文件或目录名
  2. -path/-ipath:匹配完整路径,支持多级目录
  3. -type:限制类型(文件、目录、符号链接等)
  4. -size/-mtime/-mmin:按大小或修改时间筛选
  5. -exec/-delete:批量操作
  6. -maxdepth/-mindepth:控制递归深度
  7. 逻辑操作符-a/-o/!:复杂条件组合

通过这些组合,可以非常灵活地管理和查找 Linux 系统中的文件和目录,尤其是在多级路径和大型项目中。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/2 5:56:23

LFM2-350M混合架构:重塑边缘AI性能边界

LFM2-350M混合架构:重塑边缘AI性能边界 【免费下载链接】LFM2-350M 项目地址: https://ai.gitcode.com/hf_mirrors/LiquidAI/LFM2-350M 如何在CPU环境下实现高效推理?LFM2-350M混合模型为边缘AI部署提供了全新解决方案。随着物联网设备、智能汽车…

作者头像 李华
网站建设 2026/5/2 8:55:13

PocketHub离线功能深度解析:随时随地畅享GitHub体验

PocketHub离线功能深度解析:随时随地畅享GitHub体验 【免费下载链接】PocketHub PocketHub Android App 项目地址: https://gitcode.com/gh_mirrors/po/PocketHub 在移动互联网时代,网络连接并非总是稳定可靠。PocketHub作为一款优秀的GitHub And…

作者头像 李华
网站建设 2026/4/19 17:48:38

GitHub 热榜项目 - 日榜(2025-12-16)

GitHub 热榜项目 - 日榜(2025-12-16) 生成于:2025-12-16 统计摘要 共发现热门项目: 15 个 榜单类型:日榜 本期热点趋势总结 本期GitHub热榜显示,AI代理与智能开发工具仍是核心趋势,多个高星项目聚焦于此。开源AI代…

作者头像 李华
网站建设 2026/4/17 21:57:18

基于Java的印染智慧管理系统的设计与实现全方位解析:附毕设论文+源代码

1. 为什么这个毕设项目值得你 pick ? 印染智慧管理系统集成了客户管理、订单管理、生产计划与工序管理等多项功能模块,覆盖了从原料采购到成品配送的全流程。该系统采用SpringMVC开发框架和MySQL数据库,实现了高效的数据管理和实时的信息更新。相比传统…

作者头像 李华
网站建设 2026/5/1 7:00:36

基于Java的印染行业库存智慧管理系统的设计与实现全方位解析:附毕设论文+源代码

1. 为什么这个毕设项目值得你 pick ? 印染行业库存智慧管理系统主要功能模块包括仓库管理、供货单位和收货单位管理、经办人员管理和货品及库存管理等,支持普通员工数据录入与查阅执行,并允许部门领导进行审核与统计分析。该系统采用SpringMVC框架开发…

作者头像 李华
网站建设 2026/5/6 11:50:19

揭秘临床试验数据分层难题:如何用R语言实现精准亚组分析

第一章:临床试验数据分层分析的挑战与意义 在现代医学研究中,临床试验数据的异质性使得整体疗效评估可能掩盖特定亚组的真实效应。分层分析作为一种关键统计方法,能够揭示不同患者群体对治疗干预的差异化响应,从而支持精准医疗决策…

作者头像 李华