Linux文件查找
admin
2023-06-08 00:01:20
0

Linux文件查找详解

  我们之前学过的grep、egrep以及fgrep命令是Linux的文本查找命令,只是单纯地匹配字符串的命令,而不是文件查找命令。

·文件查找的常用命令

    1,locate:

       locate是在全系统查找文件的命令,但是locate的查找是非实时的、非精确的,进行模糊匹配的一种查找方式,因为此种文件查找的方式是根据全系统文件数据库进行的,而该数据库只有在每天晚上才会更新,因此是非实时查找,但是这个文件数据库我们可以手动生成,为了使我们可以实时的查找文件,我们可以手动更新该数据库。

       生成文件数据库的命令:updatedb

       优点:locate命令执行速度快

        Linux文件查找

    2,find:

        find命令支持实时查找,精确查找,而且支持多种查找标准,但是find命令的执行速度慢,这是因为find命令是遍历指定目录下的所有文件进行查找,所以执行速度慢。

        用法格式:

        ->find 查找路径 查找标准 查找以后的处理动作

        查找路径可以省略,省略以后就表示默认查找当前目录

        查找标准默认为查找指定路径下的所有文件

        查找处理动作(action),默认为输出至标准输出

        Linux文件查找


        (1)查找(匹配)标准(选项):

        ->-name(严格区分大小写查找) 'filename':对文件名做精确匹配

            Linux文件查找

            支持文件名通配

            *->用来实现匹配任意长度的任意字符

            Linux文件查找

            ?->用来实现匹配单个字符

            Linux文件查找

            []->用来实现匹配指定范围内的任意单个字符

            Linux文件查找

        ->-iname:文件名匹配不区分大小写

            Linux文件查找

        ->-regex:基于正则表达式进行文件名查找

            格式:-regex pattern

            

        ->-user:根据文件的属主来进行文件的查找

            格式:-user username

            Linux文件查找

        ->-group:根据文件的属组来进行文件的查找

            格式:-group groupname

            Linux文件查找

        ->-uid:根据uid查找,一旦某个用户被删除之后,此前所有属于这个用户的文件的属主将变为这个用户的id号

            Linux文件查找

            格式:-uid uid

            Linux文件查找

        ->-gid:根据gid查找,一旦某个用户的属组被删除之后,此前所有属于这个用户基本组的文件的属组将变成这个用户的基本组id号

            Linux文件查找

            格式:-gid gid

            Linux文件查找

        ->-nouser:查找没有属主的文件

            Linux文件查找

        ->-type:根据文件类型来查找文件

            f:普通文件

              Linux文件查找

            d:目录

              Linux文件查找

            c:字符设备

              Linux文件查找

            b:块设备

            Linux文件查找

            l:链接文件

            Linux文件查找

            p:管道设备

            Linux文件查找

            s:套接字设备

            Linux文件查找

        ->-size:根据文件大小来查找文件

            [+|-]#:+表示大于,-表示小于,#表示数值大小(不加+|-表示等于),只写#表示精确查找。

                k表示KB

                M表示MB

                G表示GB

            Linux文件查找

            大小匹配的法则:精确查找时会有误差,但是误差一般小于1,且小于所要匹配的数值。


·组合条件查找,默认为逻辑与关系

   ->-a:逻辑与关系

        Linux文件查找

   ->-o:逻辑或关系

        Linux文件查找

   ->-not:逻辑非关系

     Linux文件查找

        练习:

        1,查找/tmp目录下,不是目录且不是套接字类型的文件

            Linux文件查找

        2,查找/tmp/test目录下,属主不是user1,也不是user2的文件 

          Linux文件查找

        

·根据时间戳查找文件

    时间为天数:

    格式:

      ->-mtime [+|-]#:修改时间

        Linux文件查找

      ->-ctime [+|-]#:改变时间

        Linux文件查找

      ->-atime [+|-]#:访问时间

        Linux文件查找

      ->#表示距离现在的第#天有动作,+#表示距离现在的第#天之前有动作,-#表示距离现在的第#天之后有动作

        Linux文件查找

     时间为分钟

     格式:

      ->-mmin [+|-]#:修改时间

        Linux文件查找

      ->-cmin [+|-]#:改变时间

        Linux文件查找

      ->-amin [+|-]#:访问时间

        Linux文件查找

      ->#表示距离现在的第#分钟有动作,+#表示距离现在的第#分钟之前有动作,-#表示距离现在的第#分钟之后有动作

        Linux文件查找

·根据权限来查找

    格式:

      ->-perm MODE:表示精确匹配

        Linux文件查找

      ->-perm +MODE:三位权限任意一位匹配即满足条件

        Linux文件查找

      ->-perm -MODE:文件权限能完全包含此MODE才符合条件

        Linux文件查找

       (2)查找以后的处理动作(action):

            默认为-print(显示出来)

            Linux文件查找

          ->-ls:类似于命令ls -l的形式显示每一个文件的详细信息

            Linux文件查找

          ->-ok:-ok表示处理动作的每一步都需要用户确认

                固定格式:-ok COMMAND {} \;

                Linux文件查找

           花括号表示的是前面find命令查找到的文件名

          ->-exec:-exec的处理动作不需要用户确认,一气呵成

                固定格式:-exec COMMAND {} \;

            Linux文件查找

         


    练习:

    1,查找/var目录下属主为root并且属组为mail的所有文件

        Linux文件查找

    2,查找/usr目录下不属于root、bin或student的文件

       Linux文件查找Linux文件查找

    3,查找/etc目录下最近一周内内容修改过且不属于root及student用户的文件

        Linux文件查找

    4,查找当前系统上没有属主或属组且最近一天内曾被访问过的文件,并将其属主属组均修改为root

      Linux文件查找

    5,查找/etc目录下大于1M的文件,并将其文件名写入/tmp/etc/largefiles

        Linux文件查找

    xargs方法:

      Linux文件查找

    6,查找/etc目录下所有用户都没有写权限的文件,显示出其详细信息

          Linux文件查找



相关内容

热门资讯

山西矿难,一场早有预兆的祸事 文丨李一鸣 姜鸥桐 编辑丨卢伊“矿难”“瓦斯爆炸”,这是很多年没有出现在我们视野中的语汇,但它就是这...
朱杨柱、张志远、黎家盈,领命出... ‍‍央视新闻消息,5月24日,神舟二十三号载人飞行任务航天员乘组出征仪式在酒泉卫星发射中心问天阁圆梦...
女子在车厢内大声唱歌、举止怪异... 极目新闻记者 李淑仪5月23日,有网友发视频称,自己乘坐由呼和浩特铁路局承运的K886/K887次列...
天玑7020等于骁龙多少(天玑... 天玑720相当于高通骁龙765G。天玑720采用了台积电7nm制程工艺,EUV是采用波长15nm的极...
坐便器水箱一直流水怎么办 坐便器水箱一直流水可能是由以下原因导致的:1. 水箱配件老化或损坏:水箱内的配件,如浮球、排水阀等,...
安装墙面收纳柜的好处及注意事项 安装墙面收纳柜可以提供合理的收纳空间,色彩和设计上要简洁明快,注意大小和线路布局,选择适合的颜色和灯...
安装中央空调的注意事项 中央空调是现代家庭的常见设备之一,安装中央空调需要注意以下事项: 1.选择合适的品牌和型号 选择...
led灯不亮了但有弱光怎么办 LED灯在使用过程中,容易出现各种故障,比如灯不亮了,但是有弱光,这怎么处理好?小编带大家一起了解下...
轰动性突破!美国终被伊朗逼怂 伊朗局势看来出现了真正的进展,在多方传出美伊谈判立场相互接近后,特朗普北京时间周日凌晨发帖表示,美国...
男子踩中蛇窝,至少被3条毒蛇咬... 5月22日,云南保山市人民医院血液科蛇伤救治中心病房外,26岁的阿杰(化名)在哥嫂的搀扶下,缓缓走出...