用的到的linux-查找find-Day4

前言:

        在上一节,我们了解到rm删除命令,一共拥有三种模式,即-i默认只能删除文件且会提示确认,其次是-r 遍历删除,用于删除目录及目录下的文件,同样需确认后才会删除,最后为-f为强制删除。其中我们还提到可以通过*.doc的方式来批量删除带有相同后缀的文件。

        这一节我们来学习,怎么在linux的众多文件中找到你需要的目录或文件。

一、find--查找

        1、自我介绍

        我是find查找命令,我可以快速帮你们定位需要的文件或目录等。通过灵活组合,可以找到任一你需要的文件或目录等。下面来看看我的能力面板~

find -empty 查找空白文件或者目录; -group 按组查找; -name 按名称查找;

-iname按名称查找,且不区分大小写;-mtime 按修改时间查找; -size按容量查找;

-type 按类型查找,文件(f)、目录(d)、设备(b,c)、链接(l)等;

-user 按用户名查找;-exec 对找到的文件执行特定的。

       2、应用说明

        从上面来看,find功能很强大,因此我们可能有点记不住。其实我们没必要去记,我们去记我们查找的场景就好,一般我们找东西,一般想到的是按名字,其次是按类型、按什么开头、什么结尾之类,或者就是最近有使用的。

        因此就对应find -name/iname #按名称查找  find type -f  #按类型查找

        find -name *.log(doc/txt/csv等) #按log/doc/txt/csv后缀结尾的查找

        find -name rpm. #查找rpm开头的文档

二、实践案例

        实践出真知,下面我们针对常用的几种常见场景来看看find在实际应用中的表现。

        1、精确查找

        如果我们很清楚我们查找的文件名称和大致位置,我们就可以采用类似下面的查询命令,完成在data目前下查找所有的hello.doc文件。

find /data -name hello.doc #查找data目录下的hello.doc文件

        2、模糊查找

        如果我们想查找某一后缀的文件,如查找所有doc文件,此时可以使用下面的find命令来完成。

find /data -name *.doc #查找所有后缀为doc的文件

         如下图所示,我们第一次查找时,我们能批量找出我们需要的doc文件,因服务器只有一个doc文件,因此我们切换到data下面的test1目录去创建了两个额外的doc结尾文件,但此时在这个目录下去执行查找data目录下doc文件时会报错,这是因为find查找时需要在一个大于它的目录下执行。即我们查询我们D盘下某个文件,需要在我的电脑目录下,或者D盘目录下去查找。

        查找hello开头的文件,注意匹配符号为*

        3、按文件大小查找-一般用于查询占空间较大的文件或空文件

        查找空文件 或空目录

find /data -empty #查找data目录所有的空目录及空文件

         查找大文件

          如下图所示我们查找大于文件大小时,需最小指定1M以上的文件,因此可见find查找文件大小设计的时候,多用于定位大文件和空文件。

        4、查找最近修改的文件

        查找近三天修改的文件

find /data/test1 -mtime -3 #查找近3天修改的文件

        如下图所示,今天是24年2月7日,查找test1下面为近3天文件 

        查找3天前修改的文件,如下图所示查找出3天前修改的文件信息。

       5、武魂融合技

        find有很多基本的命令,这些基本的命令可以通过组合来达到复杂查找的需求,如查找所有大于1M的文件。

find /data/test1 -size +1M -a -type f #查找所有大于1M的文件

三、总结

        总的来说,find命令组合有很多,但是我们日常使用较多时按名称查找,按类型、开头、结尾等方式查询,因为我们只有掌握了几种常用的查找技巧即可满足我们日常操作需求,当然在我们熟悉的前提,我可以使用武魂融合技来达到复杂需求的目的,最后在这里祝大家新年快乐,万事亨通~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/460152.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

猫头虎分享已解决Bug || TypeError: Cannot set property ‘innerHTML‘ of null

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

网络学习:数据链路层VLAN原理和配置

一、简介: VLAN又称为虚拟局域网,它是用来将使用路由器的网络分割成多个虚拟局域网,起到隔离广播域的作用,一个VLAN通常对应一个IP网段,不同VLAN通常规划到不同IP网段。划分VLAN可以提高网络的通讯质量和安全性。 二、…

探索C语言中的联合体与枚举:数据多面手的完美组合!

​ ✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:C语言学习 贝蒂的主页:Betty‘s blog 1. 联合体的定义 联合体又叫共用体,它是一种特殊的数据类型&…

leetCode二叉树的堂兄弟节点

题目描述 在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k1 处。 如果二叉树的两个节点深度相同,但 父节点不同 ,则它们是一对堂兄弟节点。 我们给出了具有唯一值的二叉树的根节点 root ,以…

从概念到实践:数字孪生在智慧城市建设中的应用与挑战

一、引言 随着科技的飞速发展,数字孪生这一概念逐渐受到广泛关注。数字孪生通过建立物理世界的数字模型,为城市的管理和规划提供了前所未有的可能性。智慧城市作为现代城市发展的重要趋势,正逐渐成为人们关注的焦点。本文将探讨数字孪生在智…

编译原理实验3——自下而上的SLR1语法分析实现(包含画DFA转换图、建表、查表)

文章目录 实验目的实现流程定义DFA状态实现代码运行结果测试1测试2测试3 总结 实验目的 实现自下而上的SLR1语法分析,画出DFA图 实现流程 定义DFA状态 class DFA:def __init__(self, id_, item_, next_ids_):self.id_ id_ # 编号self.item_ item_ # productio…

Redis保证数据不丢失的手段

Redis 保证数据不丢失的主要手段有两个: 持久化集群运行 我们分别来看它们两的具体实现细节。 # 1.Redis 持久化 持久化是指将数据从内存中存储到持久化存储介质中(如硬盘)的过程,以便在程序重启或者系统崩溃等情况下&#xf…

C++完成使用map Update数据 二进制数据

1、在LXMysql.h和LXMysql.cpp分别定义和编写关于pin语句的代码 //获取更新数据的sql语句 where语句中用户要包含where 更新std::string GetUpdatesql(XDATA kv, std::string table, std::string where); std::string LXMysql::GetUpdatesql(XDATA kv, std::string table, std…

机器学习之指数分布

指数分布: 指数分布可以用来表示独立随机事件发生的时间间隔。如果一个随机变量X的概率密度函数满足以下形式,就称X服从参数λ的指数分布,记作X ~ E(λ)或X~Exp(λ)。指数分布只有一个指数参数,且λ>0&a…

c++多态(3) -- 虚析构函数

代码: enum class _ANIMALS_TYPE {CAT,DOG,ANIMAL_COUNT };class Animal { public:Animal(_ANIMALS_TYPE type, int age,const char* name);~Animal();virtual void eat()const 0; private:_ANIMALS_TYPE type; // 动物类型int age; // 动物年龄char* na…

【Spring源码解读!底层原理进阶】【上】探寻Spring内部:BeanFactory和ApplicationContext实现原理揭秘✨

🎉🎉欢迎光临🎉🎉 🏅我是苏泽,一位对技术充满热情的探索者和分享者。🚀🚀 🌟特别推荐给大家我的最新专栏《Spring 狂野之旅:底层原理高级进阶》 &#x1f680…

解决CORS错误(Spring Boot)

记录一下错误,以博客的形式 前言 跨域(Cross-Origin)是指在Web开发中,当一个Web应用试图从一个源(域名、协议、端口组合)获取资源时,该请求的目标与当前页面的源不同。具体来说,当一…