Linux如何使用find查找文件_Linux find查找文件教程

云明君_7495

云明君_7495

2026-04-01

951人浏览

原创

结论:用 find 查文件需明确“从哪找、找什么、怎么筛”,按需组合参数而非死记硬背;区分-name与-iname、理解-mtime时间范围、-prune需配合-o和括号、-size单位是1024²字节、操作前必先-print验证。

linux如何使用find查找文件_linux find查找文件教程

直接说结论:用 find 查文件,核心是搞清「从哪找」「找什么」「怎么筛」——不是背命令,而是按需组合参数,否则容易漏结果或卡死。

按文件名查找最常用但容易忽略大小写

默认 find 区分大小写,find /home -name "config.json" 找不到 Config.JSON。真要模糊匹配,得换 -iname:find /home -iname "config.*"。注意通配符必须加引号,否则 shell 会提前展开,导致查不到预期文件。

  • -name:严格匹配,区分大小写
  • -iname:忽略大小写,适合快速定位配置文件、日志等
  • 路径末尾不加 /(如 /var/log 不要写成 /var/log/),否则某些系统可能报 Permission denied 却不提示原因

按修改时间筛选时,-mtime 的数字含义反直觉

-mtime 1 不代表“1 天前”,而是“恰好 24 小时前到 48 小时前之间”,即“距现在 1×24h ~ 2×24h 内修改过的文件”。要找“最近 24 小时内改过的”,得用 -mmin -60(分钟级)或 -newermt "2024-05-20"(指定日期)。

  • -mtime n:n 是整数,范围是 [n×24h, (n+1)×24h)
  • -mmin -30:30 分钟内修改的(负号表示“小于”)
  • -newermt "2024-05-20 14:00":比指定时间更新,支持完整时间戳,最准

查大文件或排除目录时,-size 和 -prune 必须配合 -depth 或位置逻辑

find /var -size +100M 看似简单,但若 /var/log 下有滚动日志且权限受限,find 可能卡在子目录报错并中断后续扫描。更稳的做法是先跳过不想进的目录:find /var \( -path "/var/log" -o -path "/var/cache" \) -prune -o -size +100M -print。这里 -prune 必须紧跟在路径条件后,且整个排除逻辑要用 \( ... \) 括起来,否则优先级错乱,-prune 不生效。

  • -size +100M:单位 M 是 1024×1024 字节,不是 MB;+ 表示“大于”,- 表示“小于”
  • -prune 不是独立动作,它只对当前路径生效,必须和 -o(或)连用才跳过子树
  • 如果目标目录很深、文件极多,加 -maxdepth 2 限制层级,避免遍历整个 /

执行删除或重命名前,务必先用 -print 或 -ls 验证结果集

find /tmp -name "*.tmp" -delete 一气呵成很爽,但一旦路径写错或通配符误匹配,删掉的是真实数据。安全做法永远分两步:find /tmp -name "*.tmp" -print 看输出是否符合预期;确认无误后再把 -print 换成 -delete 或 -exec rm {} \;。注意 -exec 后花括号 {} 和分号 \; 缺一不可,少一个就语法错误。

  • -print 最轻量,只输出路径;-ls 还带权限、大小、时间,适合排查误匹配
  • -delete 比 -exec rm {} \; 快,但不支持复杂逻辑(比如只删空文件)
  • 批量重命名建议用 -exec rename 's/old/new/' {} +,+ 比 \; 更高效(合并调用)

真正难的不是记住所有参数,而是理解每个选项的生效时机和作用域——find 的表达式是短路求值的,顺序错了,-prune 就变摆设,-mtime 就算错时间窗口,-delete 就删错地方。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2023.08.07

2035

5

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.23

2982

1

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

2023.10.13

1016

3

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

2025.09.10

3379

7

python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end='\n', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.27

2620

5

python print用法与作用
python print用法与作用

本专题整合了python print的用法、作用、函数功能相关内容,阅读专题下面的文章了解更多详细教程。

2026.02.03

249

24

数据库Delete用法
数据库Delete用法

数据库Delete用法:1、删除单条记录;2、删除多条记录;3、删除所有记录;4、删除特定条件的记录。更多关于数据库Delete的内容,大家可以访问下面的文章。

2023.11.13

2731

4

drop和delete的区别
drop和delete的区别

drop和delete的区别:1、功能与用途;2、操作对象;3、可逆性;4、空间释放;5、执行速度与效率;6、与其他命令的交互;7、影响的持久性;8、语法和执行;9、触发器与约束;10、事务处理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.12.29

845

3

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3890

4

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习