文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Linux文件查找

2024-04-02 19:55

关注

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



阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯