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文件查找



相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...