Linux运维入门第二章(2-4):find命令查找——从基础查找到批量处理,一篇掌握!
前言你好欢迎来到 Linux 运维第二章的第四部分前面三篇文章我们学习了用户管理、权限控制和软件包管理你已经能够创建用户、分配权限、安装软件了。但还有一个高频需求没有涉及——找文件。在 Linux 系统中文件散落在各个目录中。当你需要找到所有.log日志文件查找大于 100MB 的大文件找出 7 天前修改的文件并清理定位所有设置了 SUID 的可执行文件这时候就需要find命令出场了。find是 Linux 中最强大的文件查找工具它直接在磁盘上实时搜索支持按名称、类型、大小、时间、权限等多种条件组合查找。今天我们将系统学习find 命令基本语法从哪里找、按什么找、找到后做什么按名称、类型、大小、时间、权限查找-exec 与 -ok 执行操作find 与 xargs 配合使用学完今天的内容你将能在 Linux 系统中快速精准地定位任何文件并进行批量操作。好让我们正式开始今天的旅程 一、find 命令概述1.1 find 是什么find是 Linux 中最强大的文件查找工具。与locate基于数据库快速查找不同find直接在磁盘上实时搜索支持按名称、类型、大小、时间、权限等多种条件组合查找结果精确但速度相对较慢。find的特点 │ ├── 实时搜索直接在磁盘上查找结果准确 ├── 条件丰富支持名称、类型、大小、时间、权限等 ├── 组合查找多个条件可以组合使用 └── 执行操作找到后可以执行删除、复制等操作1.2 基本语法find[查找路径][查找条件][执行动作]示例在/var/log目录查找所有.log文件find/var/log-name*.log在根目录查找大于 100MB 的文件find/-size100M查找并删除 7 天前的日志文件⚠️ 慎重操作find/var/log-name*.log-mtime7-delete二、查找方式2.1-name—— 按文件名查找按文件名查找是最常用的方式支持通配符*和?。环境准备安装 Nginx 产生一些配置文件用于演示dnf-yinstallnginx# Ubuntu: apt -y install nginxsystemctl start nginx查找示例查找精确名称的文件find/etc-namenginx.conf查找所有.conf文件find/etc-name*.conf查找以nginx开头的文件find/etc-namenginx*查找所有以.log结尾的文件find/var/log-name*.log查找文件名包含error的文件find/var/log-name*error*2.2-iname—— 不区分大小写查找-iname与-name用法相同但忽略大小写。find/var/log-iname*.LOGfind/var/log-inameerror*2.3-type—— 按文件类型查找类型含义示例f普通文件find / -type fd目录find / -type dl符号链接find / -type lb块设备文件find /dev -type bc字符设备文件find /dev -type c示例查找所有目录find/etc-typed查找所有文件不包括目录find/etc-typef查找所有符号链接find/usr/bin-typel组合使用查找所有配置文件文件 .conffind/etc-typef-name*.conf限制查找深度只查一层子目录find/etc-maxdepth1-typed2.4-size—— 按文件大小查找符号含义示例大于100M大于 100MB-小于-100M小于 100MB无等于100M正好 100MB常用单位c字节、kKB、MMB、GGB示例查找大于 100MB 的文件find/-typef-size100M查找小于 10KB 的文件find/var/log-typef-size-10k查找大于 10MB 且小于 50MB 的文件组合条件find/-typef-size10M-size-50M查找大于 100MB 的文件并显示详细信息find/-typef-size100M-execls-lh{}\;2.5-mtime—— 按时间查找参数含义说明-mtime修改时间文件内容被修改的时间-ctime改变时间文件属性权限、属主被修改的时间-atime访问时间文件被读取的时间-mmin修改时间分钟按分钟计算-cmin改变时间分钟按分钟计算-amin访问时间分钟按分钟计算符号含义示例大于超过7表示 7 天前-小于以内-7表示 7 天内无等于正好7表示正好 7 天前示例查找 7 天内修改的文件find/var/log-typef-mtime-7查找 7 天前修改的文件find/var/log-typef-mtime7查找正好 7 天前修改的文件find/var/log-typef-mtime7查找 30 分钟内修改的文件find/var/log-typef-mmin-30查找超过 1 天未访问的文件find/home-typef-atime1查找 1 小时内修改的配置文件find/etc-typef-name*.conf-mmin-602.6-perm—— 按权限查找精确匹配查找权限为 644 的文件find/etc-perm644find/etc-perm644-ls查找所有 777 权限的文件不安全文件find/-typef-perm777权限匹配扩展命令含义逻辑find . -perm -644权限至少包含rw-r--r--中的所有位AND必须全部包含find . -perm /644权限任意一位匹配rw-r--r--OR只要包含其中任何一个位示例查找所有可执行文件find/usr/bin-typef-perm/111查找所有其他用户可写的文件安全风险find/-typef-perm-002查找所有设置了 SUID 的文件find/-typef-perm-4000查找所有设置了 SGID 的文件find/-typef-perm-2000三、执行操作3.1 常用动作动作含义-print打印默认-ls类似ls -l输出-delete删除文件-exec执行命令-ok交互式执行会询问确认3.2-exec用法语法-exec命令{}\;{}代表查找到的文件\;表示命令结束示例查找并删除所有.tmp文件find/tmp-name*.tmp-execrm{}\;查找所有.conf文件并复制到备份目录find.-name*.conf-execcp{}/backup/config/\;查找大文件并显示详细信息find/-typef-size100M-execls-lh{}\;3.3-ok—— 安全执行-ok与-exec用法相同但会在执行前询问确认适合删除等危险操作。查找并删除.old文件每个文件都会询问find.-name*.old-okrm{}\;输出示例rm./file.old? y/n安全删除大日志文件find/var/log-name*.log-size100M-okrm{}\;四、find 与 xargs 结合4.1 xargs 核心作用xargs是find的好搭档它的核心作用有三个作用说明凑批把一堆文件名凑在一起一次传给命令少启动几次进程解决参数太长有些命令如rm一次接受不了太多参数xargs会自动分批让管道更有用很多命令不支持从管道读数据如rm、lsxargs充当桥梁find找到文件 → 管道 →xargs凑批 → 传给命令执行4.2 xargs 常用选项选项含义示例-I {}替换字符串xargs -I {} cp {} /tmp/-0处理空字符分隔xargs -04.3 find xargs 实战案例 案例一基础用法 —— 删除文件准备测试环境mkdirdir1touchdir1/file{1..10}.txtlsdir1输出示例file10.txt file1.txt file2.txt file3.txt file4.txt file5.txt file6.txt file7.txt file8.txt file9.txt先用ls -l预览要操作的文件安全习惯finddir1-namefile*.txt|xargsls-l确认无误后再删除finddir1-namefile*.txt|xargsrm验证删除结果lsdir1/核心知识点xargs默认把参数追加到命令末尾删除前先用ls -l预览避免误删 案例二-I {}占位符替换 —— 复制文件准备测试环境mkdirdir2touchdir2/file{1..10}.txt方式一使用{}作为占位符finddir2-namefile*.txt|xargs-I{}cp-ra{}/var/tmp/方式二自定义占位符任意字符串都可以finddir2-namefile*.txt|xargs-IYANGGEcp-raYANGGE /tmp/验证复制结果ls-lh/var/tmp/file*.txtls-lh/tmp/file*.txt核心知识点为什么要用-I {}因为cp的参数顺序是cp 源 目标需要指定占位符来控制参数位置占位符可以自定义{}、QIANYI、%都可以 案例三-print0xargs -0—— 安全处理特殊文件名准备测试环境mkdirdir3touchdir3/file{1..10}.txttouchdir3/file qianyi.txt# 创建一个含空格的文件名❌ 错误写法文件名中包含空格时默认方式会报错finddir3-name*.txt|xargsls-l输出示例报错ls: cannot accessdir3/file:No suchfileor directory ls: cannot accessqianyi.txt:No suchfileor directory -rw-r--r--.1root root0Jul1715:23 dir3/file10.txt...其他文件正常显示✅ 正确写法一使用-I {}占位符finddir3-name*.txt|xargs-I{}ls-l{}输出示例成功处理含空格文件名-rw-r--r--.1root root0Jul1715:23 dir3/file10.txt... -rw-r--r--.1root root0Jul1715:24dir3/file qianyi.txt✅ 正确写法二使用-print0xargs -0生产环境推荐finddir3-name*.txt-print0|xargs-0ls-l输出示例完美处理所有文件名-rw-r--r--.1root root0Jul1715:23 dir3/file10.txt -rw-r--r--.1root root0Jul1715:23 dir3/file1.txt... -rw-r--r--.1root root0Jul1715:24dir3/file qianyi.txt核心知识点-print0用空字符\0分隔文件名而非默认的换行符xargs -0按空字符解析输入完美处理空格、换行符、引号等特殊字符生产环境推荐写法find ... -print0 | xargs -0 ...三种写法对比写法命令空格文件名结果① 默认findxargs ls -l❌②-I {}findxargs -I {} ls -l {}✅③-print0find -print0xargs -0 ls -l✅五、结语恭喜你 到这里你已经完成了 Linux 运维第二章2-4的全部学习内容。今天我们系统学习了find 命令基本语法查找路径 查找条件 执行动作按名称查找-name、-iname、通配符使用按类型查找-type f/d/l/b/c按大小查找-size 100M、-10k按时间查找-mtime、-atime、-ctime、-mmin按权限查找-perm、-perm -644、-perm /644执行操作-exec、-ok、-deletefind xargs 结合xargs -I {}、-print0xargs -0find命令是 Linux 运维中高频使用的工具之一。掌握了今天的内容你将在文件查找和批量处理上游刃有余。如果在学习过程中遇到任何问题欢迎在评论区留言讨论也别忘了点赞收藏方便以后查阅附录核心知识点速查表你想干什么敲什么命令按名称查找文件find /etc -name nginx.conf不区分大小写查找find /var/log -iname *.LOG查找所有目录find /etc -type d查找所有文件find /etc -type f查找大于 100MB 的文件find / -type f -size 100M查找小于 10KB 的文件find /var/log -type f -size -10k查找 7 天内修改的文件find /var/log -type f -mtime -7查找 7 天前修改的文件find /var/log -type f -mtime 7查找 30 分钟内修改的文件find /var/log -type f -mmin -30查找权限为 777 的文件find / -type f -perm 777查找所有可执行文件find /usr/bin -type f -perm /111查找设置了 SUID 的文件find / -type f -perm -4000查找并删除find /tmp -name *.tmp -exec rm {} \;查找并交互式删除find . -name *.old -ok rm {} \;查找并复制find . -name *.conf -exec cp {} /backup/ \;使用 xargs 预览find dir -name “*.txt”使用 xargs 删除find dir -name “*.txt”使用占位符复制find dir -name “*.txt”安全处理特殊文件名find dir -name “*.txt” -print0附录find 条件组合速查场景命令查找大于 10MB 且小于 50MB 的文件find / -type f -size 10M -size -50M查找 7 天前修改的 .log 文件find /var/log -type f -name *.log -mtime 7查找 1 小时内修改的配置文件find /etc -type f -name *.conf -mmin -60查找所有 777 权限且是文件的find / -type f -perm 777查找所有可执行文件find /usr/bin -type f -perm /111附录xargs 三种用法对比用法命令示例适用场景默认追加find …xargs rm-I {}find …xargs -I {} cp {} /target/-print0find … -print0xargs -0 ls -l

相关新闻

AI Remix工具推荐|合规曲风改编、老歌重制工具真实使用分享

AI Remix工具推荐|合规曲风改编、老歌重制工具真实使用分享

开篇:AI改编Remix创意十足,但版权底线必须先拎清楚平时经常给自有原创老歌做曲风重制、短视频BGM二次改编,AI Remix工具确实能省去大量手动编曲的时间,原本需要几天打磨的换风格版本,上传素材搭配提示词几分钟就能出多…

2026/7/23 4:44:31 阅读更多 →
新能源汽车高压熔断器选型与参数匹配指南

新能源汽车高压熔断器选型与参数匹配指南

1. 新能源汽车高压熔断器选型核心逻辑高压熔断器在新能源汽车电气系统中扮演着"电路卫士"的角色,就像家庭电路中的保险丝,但工作环境和技术要求要复杂得多。在400V甚至800V的高压平台下,一个合格的熔断器需要在5ms内切断高达1000A的…

2026/7/23 15:55:42 阅读更多 →
深入解析EDMA3事件与中断寄存器:原理、配置与实战避坑指南

深入解析EDMA3事件与中断寄存器:原理、配置与实战避坑指南

1. EDMA3控制器:嵌入式数据传输的“智能搬运工”在嵌入式系统和数字信号处理器(DSP)的世界里,CPU就像一位日理万机的指挥官,如果让它亲自去搬运海量的数据,比如从摄像头传感器读取一帧图像,或者…

2026/7/23 11:16:34 阅读更多 →

最新新闻

多模态AI内容生成技术解析与应用实践

多模态AI内容生成技术解析与应用实践

1. 多模态内容生成的技术革命打开手机相册,AI自动为你的旅行照片配上诗意文字;上传一段视频,系统自动生成分镜脚本和旁白文案;输入产品描述,立即获得全套营销图文——这些场景正在成为现实。多模态内容生成技术让AI首次…

2026/7/25 4:52:18 阅读更多 →
C、C++、Rust、Pascal实战对比:从内存管理到生态选型

C、C++、Rust、Pascal实战对比:从内存管理到生态选型

1. 项目概述:一次“不严谨”但务实的语言对比作为一名在系统级开发、嵌入式和高性能计算领域摸爬滚打了十几年的老码农,我经常被问到:“C、C、Rust,还有那个‘古老’的Pascal,到底该学哪个?” 网上充斥着各…

2026/7/25 4:52:18 阅读更多 →
专科论文写作利器:千笔智能助手的核心功能与使用技巧

专科论文写作利器:千笔智能助手的核心功能与使用技巧

1. 项目背景与核心价值作为一名经历过专科论文写作的过来人,我深知专科生在学术写作中面临的独特挑战。不同于本科阶段的系统训练,专科教育更侧重职业技能培养,这导致很多同学在面临毕业设计时,往往对学术规范、文献检索和论文框架…

2026/7/25 4:52:18 阅读更多 →
AI虚拟仿真技术在环艺设计教学中的创新应用

AI虚拟仿真技术在环艺设计教学中的创新应用

1. 项目背景与行业痛点环艺设计行业正面临人才培养模式与产业需求脱节的严峻挑战。传统教学存在三大核心痛点:首先,实体模型制作成本高昂,一套完整的商业空间设计方案仅材料费用就可能超过万元;其次,教学场景受限&…

2026/7/25 4:52:18 阅读更多 →
腾讯低熵预训练技术:提升大模型RL推理效率

腾讯低熵预训练技术:提升大模型RL推理效率

1. 研究背景与核心突破最近在自然语言处理领域,腾讯LLM研究部门发表了一项引人注目的研究成果——通过低熵预训练方法显著提升了大语言模型在强化学习(RL)任务中的推理速度和准确性。这项技术突破之所以被称为"颠覆认知",是因为它从根本上改变…

2026/7/25 4:52:18 阅读更多 →
AI在数学定理证明中的突破与应用实践

AI在数学定理证明中的突破与应用实践

1. 项目背景与核心价值数学定理证明一直是人类智力活动的巅峰领域,而将人工智能引入这个领域则代表着技术对基础科学的深度赋能。这个项目探索的是AI在数学定理证明中的早期突破,展现了机器如何开始理解并参与人类最高层次的抽象思维活动。我最早接触这个…

2026/7/25 4:51:18 阅读更多 →

日新闻

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为了解决您的…

2026/7/25 0:00:35 阅读更多 →
C++ string类模拟实现:从深拷贝到内存管理的完整指南

C++ string类模拟实现:从深拷贝到内存管理的完整指南

1. 项目概述:为什么我们要“手撕”string类?在C的学习道路上,尤其是从C语言过渡到C的“初阶”阶段,string类绝对是一个绕不开的核心。标准库里的std::string用起来太方便了,、find、substr,几个操作符和函数…

2026/7/25 0:00:35 阅读更多 →
三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

1. 先搞清楚“三角洲寻宝鼠”到底是什么工具从名称来看,“三角洲寻宝鼠”更像是一个资源查找或文件检索类工具,而不是游戏或娱乐软件。这类工具的核心价值在于帮助用户快速定位特定资源,比如文档、图片、压缩包或特定格式的文件。如果你经常需…

2026/7/25 0:00:35 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/24 3:59:20 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/24 1:23:39 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 18:52:18 阅读更多 →

月新闻