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/10/12 19:49:02 阅读更多 →
新能源汽车高压熔断器选型与参数匹配指南

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

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

2026/10/12 9:35:28 阅读更多 →
深入解析EDMA3事件与中断寄存器:原理、配置与实战避坑指南

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

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

2026/10/14 7:25:44 阅读更多 →

最新新闻

ok-nte Combat Planner 详解:为《异环》角色编写协作战斗策略

ok-nte Combat Planner 详解:为《异环》角色编写协作战斗策略

【免费下载链接】ok-nte 异环 后台副本挂机 Automation for Neverness to Everness 项目地址: https://gitcode.com/gh_mirrors/ok/ok-nte 点击查看 免费下载 如果你在用 ok-nte 这款《异环》(Neverness to Everness)后台副本挂机工具&#…

2026/10/14 15:47:52 阅读更多 →
Matlab贝叶斯优化调参CNN-BiLSTM时序回归

Matlab贝叶斯优化调参CNN-BiLSTM时序回归

简介:本资源是一套基于贝叶斯优化的CNN-BiLSTM混合神经网络回归预测完整实现方案,面向机器学习初学者、时间序列建模研究者及Matlab深度学习实践者,适用于电力负荷、环境参数、金融时序等多输入单输出回归任务。压缩包共5个文件(4…

2026/10/14 15:47:52 阅读更多 →
WashData四字段配置完整教程:从零检测你的第一个洗衣机循环(附常见坑点指南)

WashData四字段配置完整教程:从零检测你的第一个洗衣机循环(附常见坑点指南)

【免费下载链接】ha_washdata Home Assistant integration for smart-plug appliance monitoring: detects cycles, matches programs, estimates time remaining. Supports washing machines, dryers, dishwashers and more. 项目地址: https://gitcode.com/gh_mir…

2026/10/14 15:47:52 阅读更多 →
武汉汽车贴膜哪家好?哪家靠谱?东西湖摩卡威固汽车贴膜旗舰店,汉口本土一站式贴膜标杆门店推荐

武汉汽车贴膜哪家好?哪家靠谱?东西湖摩卡威固汽车贴膜旗舰店,汉口本土一站式贴膜标杆门店推荐

武汉汽车保有量持续上涨,新车贴隐形车衣、高隔热太阳膜、车身改色已经成为多数车主提车后的重要升级项目,不少车主都在搜索武汉汽车贴膜哪家好、汉口贴隐形车衣哪家靠谱、东西湖威固贴膜哪家专业。坐落于东西湖区武汉客厅商圈的摩卡威固汽车贴膜旗舰店&a…

2026/10/14 15:47:52 阅读更多 →
RocketMQ消息消费源码深度解析:从拉取到位点管理全链路

RocketMQ消息消费源码深度解析:从拉取到位点管理全链路

作为 RocketMQ 源码解析系列的第七篇,这次我把注意力放在消息消费这条链路上。发送端解决的是“怎么把消息交出去”,消费端要回答的问题明显更多:push 模式下消息到底是怎么被拉到客户端的、拉到的消息怎么分发到业务监听器、消息队列在多个消…

2026/10/14 15:47:52 阅读更多 →
dotnet-skills Akka.NET 系列(二):TestProbe 与 Akka.Hosting.TestKit 测试模式完全教程

dotnet-skills Akka.NET 系列(二):TestProbe 与 Akka.Hosting.TestKit 测试模式完全教程

【免费下载链接】dotnet-skills Claude Code skills and sub-agents for .NET Developers 项目地址: https://gitcode.com/gh_mirrors/do/dotnet-skills 点击查看 免费下载 Actor 测试总是又慢又"飘"?这篇文章带你系统掌握 TestProbe 和 Akka…

2026/10/14 15:46:51 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →