https://zhuanlan.zhihu.com/p/99170116

Linux查找命令是类Unix操作系统中最重要且最常用的命令行实用程序之一。 查找命令可以根据你设定的参数匹配的文件指定的条件来搜索和查找文件或目录的列表。

查找可以在多种条件下使用,例如可以按权限,用户,组,文件类型,日期,大小和其他可能的条件查找文件。

通过本文,我们以示例的形式分享了我们日常的Linux find命令展示及其用法。

在本文中,我们将向您展示Linux中最常用的38个“查找命令”示例。 从“基本”到“高级”命令的用法,我们将本节分为五个部分。

  • 第一部分:用于查找具体名称的文件的基本查找命令
  • 第二部分:根据文件权限查找文件
  • 第三部分:基于所有者和组搜索文件
  • 第四部分:根据日期和时间查找文件和目录
  • 第五部分:根据大小查找文件和目录
  • 第六部分:在Linux中查找多个文件名

第一部分:用于查找具体名称的文件的基本查找命令

01、在当前目录中使用名称查找文件

例如:在当前工作目录中找到名称为linux265.txt的所有文件。

find . -name linux265.txt

02、在指定目录下查找文件

例如:在/home目录下查找linux265.txt文件。

find /home -name linux265.txt

03、使用名称查找文件并忽略大小写

例如:在/ home目录中找到所有名称为linux265.txt并且包含大写字母和小写字母的文件。

find /home -iname linux265.txt

04、使用名称查找目录

例如:在/目录中找到所有名称为linux265的目录。

find / -type d -name linux265

05.使用名称查找PHP文件

例如:在当前工作目录中查找所有php文件中名称为linux265.php的文件。

find . -type f -name linux265.php

06、在目录中查找所有PHP文件

例如:在目录中找到所有php文件。

find . -type f -name "*.php"

第二部分:根据文件权限查找文件

07、查找具有777权限的文件

例如:查找当前目录所有权限为777的文件。

find . -type f -perm 0777 -print

08、查找根目录没有777权限的文件

例如:查找所有未经许可的文件777。

find / -type f ! -perm 777

09、查找具有644权限的SGID文件

例如:查找所有权限设置为644的所有SGID位文件。

find / -perm 2644

10、查找具有551权限的粘性位文件

例如:查找所有权限为551的Sticky Bit设置文件。

find / -perm 1551

11、查找SUID文件

例如:查找所有SUID设置文件。

find / -perm /u=s

12、查找SGID文件

例如:查找所有SGID设置文件。

find / -perm /g=s

13、查找只读文件

例如:查找所有只读文件。

find / -perm /u=r

14、查找可执行文件

例如:查找所有可执行文件。

find / -perm /a=x

15、查找具有777权限并将Chmod设置为644的文件

例如:找到所有777个权限文件,然后使用chmod命令将权限设置为644。

find / -type f -perm 0777 -print -exec chmod 644 {} \;

16、查找具有777权限目录修改其权限

例如:找到所有777个权限目录,然后使用chmod命令将权限设置为755。

find / -type d -perm 777 -print -exec chmod 755 {} \;

17、查找并删除单个文件

例如:要找到一个名为linux265.txt的文件并将其删除。

find . -type f -name "linux265.txt" -exec rm -f {} \;

18、查找并删除多个文件

例如:要查找并删除多个文件,例如.mp3或.txt后缀的文件。

find . -type f -name "*.txt" -exec rm -f {} \;

OR

find . -type f -name "*.mp3" -exec rm -f {} \;

19、查找所有空文件

例如:查找特定路径下的所有空文件。

find /tmp -type f -empty

20、查找所有空目录

例如:将所有空目录归档在特定路径下。

find /tmp -type d -empty

21、归档所有隐藏的文件

例如:要查找所有隐藏文件,请使用以下命令。

find /tmp -type f -name ".*"

第三部分:基于所有者和组搜索文件

22、根据用户查找单个文件

例如:在所有者根目录下查找全部或单个文件linux265.txt。

find / -user root -name linux265.txt

23、根据用户查找所有文件

/home目录下查找属于用户linux265的所有文件。

find /home -user linux265

24、根据组查找所有文件

例如:在/home目录下找到属于developer组的所有文件。

find /home -group developer

25、查找用户的特定文件

例如:在/home目录下找到用户linux265的所有后缀为.txt文件。

find /home -user linux265 -iname "*.txt"

第四部分:根据日期和时间查找文件和目录

26、查找最近50天修改的文件

例如:查找最近50天修改的所有文件。

find / -mtime 50

27、查找最近50天访问的文件

例如:查找最近50访问的所有文件。

find / -atime 50

28、查找最近50-100天修改的文件

例如:查找超过50天且不到100天的所有已修改文件。

find / -mtime +50 –mtime -100

29、查找最近1小时内的更改文件

例如:查找最近1小时内更改的所有文件。

find / -cmin -60

30、查找最近1小时内的修改文件

例如:查找最近1小时内所有已修改的文件。

find / -mmin -60

31、查找最近1小时内访问的文件

例如:查找最近1小时内访问的所有文件。

find / -amin -60

第五部分:根据大小查找文件和目录

32、查找50MB文件

例如:要查找所有50MB的文件,请使用。

find / -size 50M

33、查找大小在50MB – 100MB之间

例如:查找大于50MB且小于100MB的所有文件。

find / -size +50M -size -100M

34、查找和删除100MB文件

例如:查找所有100MB文件并使用一个命令将其删除。

find / -type f -size +100M -exec rm -f {} \;

35、查找特定文件并删除

例如:查找所有大小超过10MB的.mp3文件,然后使用一个命令将其删除。

find / -type f -name *.mp3 -size +10M -exec rm {} \;

第六部分:在Linux中查找多个文件名

36、要在当前目录中查找带有.sh和.txt文件扩展名的所有文件,可以通过运行以下命令来执行此操作:

find . -type f \( -name "*.sh" -o -name "*.txt" \)

37、要查找扩展名为.sh,.txt和.c的三个文件名,请发出以下命令:

find . -type f \( -name "*.sh" -o -name "*.txt" -o -name "*.c" \)

38、这是另一个示例,其中我们搜索扩展名为.png,.jpg,.deb和.pdf的文件:

find /home/linux265/Documents/ -type f \( -name "*.png" -o -name "*.jpg" -o -name "*.deb" -o -name ".pdf" \)

写在最后

find命令是一个非常实用的命令,可以让我们轻松找到需要查找的文件,如果你还不了解它,不妨从以上命令示例开始学习吧。

如果你想了解过多关于find的用法可以通过man find查看详细的说明。

如果想了解更多Linux中命令使用,可以下载Linux命令中文手册,关注我后,公号里面回复“命令”即可下载。

[转帖]Linux中find命令使用示例的更多相关文章

  1. [转]Linux中find常见用法示例

    Linux中find常见用法示例[转]·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;find命令的参 ...

  2. Linux中 find 常见用法示例

    Linux中find常见用法示例 #find path -option [ -print ] [ -exec -ok command ] {} \; #-print 将查找到的文件输出到标准输出 #- ...

  3. Linux中find命令用法全汇总,看完就没有不会用的!

    Linux中find命令用法全汇总,看完就没有不会用的! 中琦2513 马哥Linux运维 2017-04-10   糖豆贴心提醒,本文阅读时间7分钟 Linux 查找命令是Linux系统中最重要和最 ...

  4. Linux中exec命令相关

    Linux中exec命令相关 exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息. b ...

  5. linux中touch命令参数修改文件的时间戳(转)

    linux中touch命令参数不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件,以下是linux中touch命令参数的使用方法: touch [-acm][-r ...

  6. linux中执行命令权限不够怎样处理

    在linux中执行命令权限不够就要增加权限,先看遇到的情况 查看权限情况 那就赋予权限 执行命令

  7. Linux中监控命令top命令使用方法详解

    收集了两篇关于介绍Linux中监控命令top命令的详细使用方法的文章.总的来说,top命令主要用来查看Linux系统的各个进程和系统资源占用情况,在监控Linux系统性能方面top显得非常有用,下面就 ...

  8. Linux中date命令的各种实用方法--转载

    在linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的运算,自己也曾经为时间的各种表示方法和如何修改时间而困惑,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的 ...

  9. linux中查找命令find、locate、whereis、which、type区别

    linux中查找命令find.locate.whereis.which.type区别 1. find Java代码 find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件.与查询数据库(/ ...

  10. Linux中service命令和/etc/init.d/的关系

    Linux中service命令和/etc/init.d/的关系   service xxx启动 /etc/init.d/ 目录下的xxx脚本 如一个脚本名为 mysvc保存在/etc/init.d/下 ...

随机推荐

  1. 玩转云上数据湖,解析Serverless 技术落地

    导读: 本文主要介绍Serverless计算相关技术与其在华为云数据湖探索服务(后文简称DLI)中的技术落地.Serverless是DLI将计算能力服务化和产品化关键技术,与传统IAAS和PAAS技术 ...

  2. 云数据库 GaussDB(for Influx) 解密第十一期:让智能电网中时序数据处理更高效

    摘要:GaussDB(for Influx)是一款基于计算存储分离架构,完全兼容 InfluxDB 生态的云原生时序数据库. 本文分享自华为云社区<云数据库 GaussDB(for Influx ...

  3. 释放千行百业数据价值,华为云DAYU有一套

    摘要:结合数字化转型中行业面临的挑战及产品解决方案解读数据使能服务DAYU. 大禹(DAYU)治水是一个有美好寓意的故事,大禹汲取了父亲治水的经验教训,总结出一套行之有效的治水方法,对洪水进行治理疏导 ...

  4. 使用 Zpan 搭建低成本个人私有网盘,还不限速

    摘要:本文就介绍一个不限速的低成本个人网盘--ZPan,相较于老牌的私有网盘 OwnCloud 等,Zpan 有一个独有的优势:不限速. 本文分享自华为云社区<使用 Zpan 搭建低成本个人私有 ...

  5. 云小课|VMware备份上云学习专列来了,快加入吧~

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:华为云云备份CBR ...

  6. 一起玩转LiteOS组件:Pixman

    摘要:本文将以Pixman Demo为例,详细说明Pixman的功能. 本文分享自华为云社区<LiteOS组件尝鲜-玩转Pixman>,作者:Lionlace. 基本介绍 Pixman是由 ...

  7. IaaS首席架构师的架构设计思考与实践

    摘要:本文分享了华为云Stack IaaS的设计思考与实践,基于公有云先进的架构技术和创新能力,采用重构改造+积木式搭配+抽屉式替换等方式,健康的.可持续的为客户不断的提供产品和服务. 本文分享自华为 ...

  8. Walrus 入门教程:如何创建模板以沉淀可复用的团队最佳实践

    模板是 Walrus 的核心功能之一,模板创建完成后用户可以重复使用,并在使用过程中逐渐沉淀研发和运维团队的最佳实践,进一步简化服务及资源的部署.用户可以使用 HCL 语言自定义创建模板,也可以一键复 ...

  9. 新能源物流车行业如何服务升级?地上铁联合火山引擎VeDI“破题”

    今年以来,克服种种不利因素影响,我国工业经济实现企稳回升,一些行业逆势而上,表现亮眼.尤其是新能源车行业,得益于技术创新与系列重大政策利好推动,在国内和国外市场均实现了快速增长,中国汽车工业协会最新统 ...

  10. Python FastAPI 获取 Neo4j 数据

    前提条件 先往Neo4j 里,准备数据 参考:https://www.cnblogs.com/vipsoft/p/17631347.html#创建传承人 搭建 FastAPI 项目:https://w ...