文件查找

文件查找

在文件系统上查找符合条件的文件

文件查找:locate,find

  非实时查找(数据库查找):locate

  实时查找:find

locate:

  依赖于事先构建的索引:索引的构建是在系统较为空闲时自动进行,手动更新数据库(updatedb)

  索引构建需要遍历整个文件系统,极消耗资源:

  工作特点:

    查找速度快

    模糊查找

    非实时查找

find:

  实时查找工具:通过遍历指定路径下的文件系统完成文件查找

  工作特点:

    好找速度略慢

    精确查找

    实时查找

  语法:

    find [OPTION]...[查找路径] [查找条件][处理动作]

    查找条件:

      根据文件名查找:

        -name "文件名称";支持glob

        -iname "文件名称"; 不区分大小写

        -regex "pattern" 以pattern匹配整个路径字符,而不仅仅是文件名称

      根据文件属主属组查找

        -user  USERNAME:查找属主为指定用户的文件

        -group GROUP:查找属组为指定组的文件

        

        -uid UserID:查找属主为指定的UID号的文件

        -gid GroupID:查找属组为指定GID号的文件

        

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

        -nogroup:查找没有属组的文件

      根据文件类型查找

        -type TYPE:

          f:普通文件

          d:目录文件

          l:连接符号文件

          s:套接字文件

          b:块设备文件

          c:字符设备文件

          p:管道文件

      组合条件

        与:-a

        或:-o

        非:-not

      根据文件大小查找:
        -size[+|-] #UNIT
        常用单位:k,M,G
        #UNIT:[#-1,#]
        -#UNIT:[0,#-1]
        +UNIT:[#:~]
      根据时间戳进行查找:
        以天为单位:
          -atime 

          -mtime
          -ctime

            find / -mtime 3 #查找修改文件满3天的文件(满3天,不到4天)
            find / -mtime +3 #查找3天之前做过修改的文件
            find / -mtime -3 #查找3天内做过修改的文件
        以分钟为单位:
           -amin
          -mmin
          -cmin

 练习

1.查找/var目录下属主为root,且属组为mail的所有文件或目录
2.查找/usr目录下不属于root、bin或者hadoop的所有文件或目录
3.查找/etc下最近一周内,内容修改过,同时属主不为root,也不是hadoop的文件或者目录
4.查找当前系统上没有属主和属组,且最近一周内被访问过的文件或者目录
5.查找/etc目录下大于1m且类型为普通文件的所有文件或者目录

答案

1.find . -user root -group mail -ls
2.find /usr -not \( -user root -o -user bin -o -user hadoop \) -ls
    find /usr -not -user root -a -not -user bin -a -not -user hadoop -ls
3.find /etc -mtime -7 -a -not \( -user root -o -user hadoop \)
    find /etc -mtime -7 -a -not -user root -a -not -user hadoop
4.find / -atime -7 -a -nouser -nogroup -ls
5.find /etc -type f -a -size +1M -ls
View Code

 

转载于:https://www.cnblogs.com/fengzi7314/p/10779044.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值