千家信息网

Linux使用Find命令查找文件的方法

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇文章和大家了解一下 Linux使用Find命令查找文件的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。Linux Find命令是Linux系统管理员工具库中最强大的工具之一
千家信息网最后更新 2026年11月01日Linux使用Find命令查找文件的方法

本篇文章和大家了解一下 Linux使用Find命令查找文件的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

Linux Find命令是Linux系统管理员工具库中最强大的工具之一,它允许我们根据用户给定的表达式搜索目录层次结构中的文件和目录,对每个匹配的文件应用用户指定的操作。

Linux Find命令

使用find命令根据文件权限,类型,日期,所有权,大小等搜索文件。它还可以与其他工具结合使用,例如grep或sed对这些文件执行操作

在讨论如何使用find命令之前,我们先来了解一下基本语法:

find [options] [path...] [expression]

说明:

● options属性:控制符号链接,调试选项和优化方法的处理。

● path...属性:定义了find将搜索文件的起始目录。

● expression属性:由"options","搜索模式"和"由运算符分隔的操作"组成。

我们来看看下面的例子:

find  -L /home/projects/ -name "*.js" -exec chmod 644 {} \;

说明:此命令包含一个参数-L(options),它允许find命令跟随符号链接,搜索/home/projects/(path ...)下面的整个目录树,查找以.js(expression)结尾的所有文件,并将所有匹配文件的权限设置为644。

如何按类型查找文件?

要指定要查找的文件类型,需要使用-type参数。

可以使用以下描述符指定文件类型:

● f:常规文件

● d: 目录

● l:符号链接

● c:角色设备

● b:块设备

● p:命名管道(FIFO)

● s:套接字

示例:

如果要查找当前工作目录中的所有目录,可以使用:

find . -type d

如果要列出系统类型上的所有字符设备:

find / -type c

如何按名称查找文件?

按名称查找文件可能是find命令最常用的用法。要按名称查找文件,需要将该-name选项与要搜索的文件的名称一起传递。

示例:

要在/home/linuxize目录中搜索名为document.pdf的文件,可以使用以下命令:

sudo find /home/linuxize -type f -name document.pdf

如果要运行不区分大小写的搜索,可以-name使用-iname以下命令更改选项:

sudo find /home/linuxize -type f -iname document.pdf

说明:上面的命令将匹配Document.pdf,DOCUMENT.pdf ..等。

如何按扩展名查找文件?

按扩展名搜索文件与按名称搜索文件相同。

例如:

如果要查找以.log.gzinside /var/log/nginx目录结尾的所有文件,可以使用:

find /var/log/nginx -type f -name '*.log.gz'

如果要查找与正则表达式不匹配的所有文件,*.log.gz可以使用该-not参数。例如,要查找不以*.log.gz您结尾的所有文件,请使用:

find /var/log/nginx -type f -not -name '*.log.gz'

如何按大小查找文件?

要根据文件大小查找文件,需要将-size参数与大小条件一起传递。可以使用以下后缀指定文件大小:

● b:512字节块(默认)

● c:字节

● w:双字节字

● k:Kilobytes

● M:兆字节

● G:千兆字节

例如:

要在/tmp目录中查找完全1024字节的所有文件,可以运行以下命令:

find /tmp -type f -size 1024c

find命令还允许我们搜索大于或小于指定大小的文件。例如:

我们可以在当前工作目录中搜索小于1MB的所有文件,这需要在大小值之前添加减号:

find . -type f -size -1M

如果要搜索大小超过1MB的文件,则需要使用加号+:

find . -type f -size +1M

甚至可以搜索大小范围内的文件。例如,以下命令将查找介于1和2 MB之间的所有文件:

find . -type f -size +1M -size 21M

如何按修改日期查找文件?

find命令还可以根据上次修改,访问或更改时间来搜索文件。

与按大小搜索时相同,可以使用加号和减号来指定大于或小于。

例如:

几天前你修改了一个dovecot配置文件,但你忘了文件名。我们可以很容易地筛选以.conf结尾的/etc/dovecot/conf.d/目录中的所有文件,这些文件在过去5天内被修改为:

find /etc/dovecot/conf.d -name "*.conf" -mtime 5

我们还可以列出30天或更久前修改的/home目录中的所有文件:

find /home -mtime +30 -daystart

如何按权限查找文件?

要根据文件权限过滤文件,需要使用该-perm选项。

例如:

要在/var/www/html目录中查找权限为775的所有文件:

find /var/www/html -perm 644

还可以使用减号-或斜杠/为数字模式添加前缀。

当斜杠/用作前缀时,至少一个类别(用户,组或其他类别)必须至少为文件匹配设置相应的位。

find . -perm /444

说明:搜索对用户,组或其他人设置了读权限的所有文件。

如果使用减号-作为前缀,则必须至少设置要匹配的文件。

find . -perm -664

说明:搜索对所有者和组具有读写权限的文件,并且其他用户可以读取。

如何按所有者查找文件?

要查找特定用户或组拥有的文件,可以使用-user和-group选项。

例如,要搜索用户拥有的所有文件和目录linuxize,可以运行:

find / -user linuxize

这是更高级的示例,假设是希望查找用户www-data拥有的所有文件,并将匹配文件的所有权从www-data更改为nginx:

find / -user www-data -type f  -exec chown nginx {} \;

关于Linux使用Find命令查找文件的方法就分享到这里了,当然并不止以上和大家分析的办法,不过小编可以保证其准确性是绝对没问题的。希望以上内容可以对大家有一定的参考价值,可以学以致用。如果喜欢本篇文章,不妨把它分享出去让更多的人看到。

文件 搜索 命令 目录 大小 用户 权限 字节 名称 类型 减号 参数 方法 前缀 可以使 属性 工具 用以 示例 符号 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 智能科技公司是互联网公司吗 互联网科技资迅 远信互联网科技 中国互联网科技发展 华中科技大学互联网 华脉科技工业互联网产品 湖南洣水互联网科技有限公司扣款 科技与互联网哪个更好 互联网和黑科技的看法 港股科技和互联网 湖北码尼互联网科技有限公司电话 洛阳昕诺飞互联网科技有限公司 互联网科技大奖都有哪些公司 中国互联网公司排名锤子科技 南博望互联网科技有限公司 四川互联网展示科技馆设计 互联网相关科技技术 广东鹅鹅鹅互联网科技有限公司 青岛互联网科技园 上海旺乐尼互联网科技有限公司 广州为想互联网科技有限公司 疫情对互联网科技公司影响 互联网养老 桔豆科技 科技大学互联网专业好不好 福建科技产业互联网发展 互联网保险科技创业 西安小鹰速贷互联网科技有限公司 互联网科技创新的路径 阿里互联网科技企业 恒生互联网科技趋势
0