当前位置: 首页 > news >正文

Linux非常强大的一个命令find

find 命令是 Linux 和 Unix 系统中非常强大的一个命令,用于在目录树中搜索文件,并执行指定的操作。它可以基于各种条件来搜索文件,比如文件名、文件类型、大小、修改时间等。

基本语法

find [搜索路径] [选项] [操作]
  • 搜索路径:指定 find 命令开始搜索的目录路径。如果省略,则默认为当前目录。
  • 选项:用来指定搜索的条件。
  • 操作:对符合条件的文件执行的操作。如果省略,则默认输出匹配的文件名。

常用选项

  • -name:按文件名搜索。
  • -iname:按文件名搜索,不区分大小写。
  • -type:按文件类型搜索(f 表示文件,d 表示目录,l 表示链接文件等)。
  • -size:按文件大小搜索。例如,+100M 表示大于 100MB 的文件。
  • -mtime:按文件内容最后修改时间搜索。例如,-mtime -7 表示在最近 7 天内修改过的文件。
  • -user:按文件属主搜索。
  • -group:按文件所属组搜索。
  • -exec:对符合条件的文件执行指定的 shell 命令。

示例

  1. 查找当前目录及子目录下所有名为 example.txt 的文件

    find . -name example.txt
    
  2. 不区分大小写查找名为 example.txt 的文件

    find . -iname example.txt
    
  3. 查找当前目录及子目录下所有的目录

    find . -type d
    
  4. 查找当前目录及子目录下所有大于 10MB 的文件

    find . -type f -size +10M
    
  5. 查找最近 7 天内修改过的文件

    find . -type f -mtime -7
    
  6. 对查找到的每个文件执行 ls -l 命令

    find . -type f -exec ls -l {} \;
    

    这里 {} 是一个特殊的字符串,对于每一个匹配的文件,find 命令会将 {} 替换为相应的文件名。\; 是命令的结束符,告诉 find 命令 -exec 选项到此结束。

  7. 查找空目录

    find . -empty -type d
    
  8. 查找空文件

    find . -empty -type f
    
  9. 查找空文件并删除

    find . -empty -type f -print -delete
    
  10. 查找空目录并删除

    find . -empty -type d -print -delete
    
  11. 查找权限

    find . -perm 755
    
  12. 查找所有者权限有读权限的目录或文件

    find . -perm -u=r
    
  13. 查找用户组权限有读权限的目录或文件

    find . -perm -g=r
    
  14. 查找其它用户权限有读权限的目录或文件

    find . -perm -o=r
    
  15. 通过所有者 和 所属组去查找文件

    find . -user xxx                 
    find . -group xxx
    

find 命令非常强大,通过组合不同的选项和条件,你可以几乎实现任何类型的文件搜索任务。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 通过知识管理提升财务卓越性
  • QT自适应布局中尺寸控制相关的resize、resizeEvent分析
  • 【前端手写代码】手写instanceof方法
  • Python 中的 NotImplemented 和 NotImplementedError
  • HTTP协议详解(一)
  • 并发编程工具集——Future(二十七)
  • 【CPS出版】2024年智能计算与数据分析国际学术会议(ICDA 2024,9月6日-8)
  • 压缩技巧:word怎么压缩到10m以下?word压缩,快速学会的5个高效方法!
  • vue el-input 输入框下拉显示匹配数据
  • 一文带你掌握C++异常处理
  • FPGA开发——数码管的使用(二)
  • 敏捷开发笔记(第14章节)--TEMPLATE METHOD模式和STRATEGY模式:继承与委托
  • 【第四节】python面向对象
  • 基于 LangChain 开发应用程序第七章-代理
  • 781页 | 2024全国数据资产政策法规汇编(可下载)
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • AWS实战 - 利用IAM对S3做访问控制
  • Django 博客开发教程 8 - 博客文章详情页
  • Docker: 容器互访的三种方式
  • es6
  • js 实现textarea输入字数提示
  • Koa2 之文件上传下载
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • oschina
  • PhantomJS 安装
  • quasar-framework cnodejs社区
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • 笨办法学C 练习34:动态数组
  • 编写高质量JavaScript代码之并发
  • 初识 webpack
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 二维平面内的碰撞检测【一】
  • 官方解决所有 npm 全局安装权限问题
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 技术胖1-4季视频复习— (看视频笔记)
  • 开发基于以太坊智能合约的DApp
  • 类orAPI - 收藏集 - 掘金
  • 扑朔迷离的属性和特性【彻底弄清】
  • 微服务框架lagom
  • 微信开源mars源码分析1—上层samples分析
  • Nginx实现动静分离
  • #Linux(make工具和makefile文件以及makefile语法)
  • #Linux(权限管理)
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • ( 10 )MySQL中的外键
  • (12)Hive调优——count distinct去重优化
  • (C#)获取字符编码的类
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (二十三)Flask之高频面试点
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (附源码)计算机毕业设计SSM疫情社区管理系统