文件查找

文件查找:

locate查找:

    locate:
    依赖于事先构建好的索引库,操作系统刚完成没有
      系统自动实现(周期性任务);
      手动更新数据库(updatedb);相当占用系统资源
  工作特性:
      查找速度快
      模糊查找
      非实时查找
    可能只搜索用户具备读取和执行权限的目录
  命令使用格式:
   locate [option] ...pattern....
     -b:只匹配路径中的基名,不匹配路径中的
     -c:统计符合条件的数量
     -r:基于基本正则表达式
    -i:忽略大小写

    简单例子

    20.png

find查找:

  
  实时查找工具,通过遍历指定起始路径下文件系统层=层级结构完成文件查找
         工作特性
         查找速度略慢
         精确查找
         实时查找
    find [option] [查找起始路径] [查找条件][处理动作] 
    查找路径:指定具体目标路径;默认为当前目录
    
     查找条件:指定的查找标准,可以文件名、大小、类型、权限等标准进行;默认为找出指定路径下的所有文件
         由选项和测试组成
         测试的实现:根据文件名查找 -name "pattern"|-iname(不区分大小写)
          pattern:指的是globing风格表达式非正则表达式
          -regex :基于正则表达式模式查找文件,匹配范围是整个路径,并非基名
          根据文件的从属关系找到
          -user username:查找属主指定用户的所有文件
          -group group:查找属组为指定GID的所有文件
          -uid  UID:查找属主指定的UID的所有文件
          -gid  gid:查找指定属组的GID的所有文件
          -nouser:没有属主的文件(某个文件的属主被删除,此文件所属和主以UID和Gid显示)
          
          -nogrpup
   
   根据文件类型查找
        -type TYPE:    
        f: 普通文件       
        d: 目录文件      
        l: 符号链接文件        
        s:套接字文件       
        b: 块设备文件       
        c: 字符设备文件
        p: 管道文件
  
   组合条件:
          与:-a默认组合条件
          或:-o
          非:-not或添加!
    摩根定律:!(A -a B)=!A -o !B
         !(A -o B)=!A -a !B
 
 根据文件大小查找
          -size +|- 大小 单位
          常用单位:K,M,G

    21.png

          

     

 根据时间戳查找:
  以天为单位
  -atime
  #:[#,#-1)
  +#: [#+1 ,∞]
    - #: [0,#)                         
  - mtime
    - ctime                           
 以分钟为单位
    -amin
  -mnin
  -cmint
 
 根据权限查找
     -perm                             
    mode:精确比配
    /mode:任何一类(u,g,o)符合条件即可
    -mode:每一类都符合条件,如果某一位上设置的为0表示不关注
 
 举例:
 find - perm 755 会匹配权限模式恰好是755的文件
  只要当任意人有写权限时, find - perm +222|/222 就会匹配
  只有当每个人都有写权限时, find - perm - 222才会匹配
  只有当其它人( other)有写权限时, find - perm - 002才会匹配

  处理动作 

 -print
    -ls
     -delete  :删除文件
     -fls 路径:把查找到的文件的详细信息保存到指定文件中
     -ok 命令 {} \;对找到的每个文件执行命令,执行前会与用户进行交互,询问是否操作
     -exec 命令 {} \;对查找到的每个文件执行命令,但是不提醒 {}引用前面找到的文件                      
     注意:find传递查找的文件路径到后面的命令时,先查找所有符合条件的命令,一次传给后面的命令但是有些命令不能执行过长的参数,此时命令执行会失败;另一个方式会解决
     find |xargs 命令

          

find 命令练习                          

    1、查找/var目录下最近一周内其内容修改过,同时属主不为root,也不是postfix的文件
    2、查找当前系统上没有属主或属组,且最近一个周内曾被访问过的文件
    3、查找/etc目录下大于1M且类型为普通文件的所有文件
    4、查找/etc目录下所有用户都没有写权限的文件
    5、查找/etc目录下至少有一类用户没有执行权限的文件
    6、查找/etc/init.d目录下,所有用户都有执行权限,且其它用户有写权限的文件
    7、查找/etc/下所有的.conf文件,但是不搜索/etc/sane.d文件

     一、

    1.png

     

    二、                                    

    QQ截图20160815094012.png

    三、                     

    

     3.png            

    四、

     5.png

    

    五、

    6.png

    

    六、

    7.png

    7、

    [root@centos7 ~]# find /etc -path /etc/sane.d -a -prune -o -name  "*.conf" 

    

    

原创文章,作者:wangnannan,如若转载,请注明出处:http://www.178linux.com/30626

(0)
wangnannanwangnannan
上一篇 2016-08-15 12:07
下一篇 2016-08-15 12:10

相关推荐

  • 用户创建过程&grep练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。     ~]# cp -r /etc/skel /home/tuser1     ~]# ls -la /home/tuser1  &…

    Linux干货 2016-10-17
  • 【26期】Linux第六周学习小总结

        时光匆匆,一周时光悠然而逝,带给我们的只有知识的充实,和每日强大的自信心,学习的日益深入,慢慢的然我们的思绪和状态带回高中时光,吃饭上课睡觉三点一线的生活,枯燥中透露出稍微的晨曦,让每个明天都充满着期待,那我们的本周的学习中磁盘管理算是占了很大的比重,毕竟关于磁盘的知识很是难理解,那我就把本周的知识回顾温习,同时分享给大家。 &n…

    2017-08-19
  • LVS –负载均衡基础

    一 负载均衡的五种解决方案 1 http重定向 HTTP重定向就是应用层的请求转发。用户的请求其实已经到了http重定向负载均衡服务器,服务器根据算法要求用户重定向,用户收到重定向请求后,再次请求真正的集群。 优点:简单 缺点:性能较差 2 DNS域名解析负载均衡 DNS域名解析负载均衡就是在用户请求DNS服务器,获取域名对应的IP地址时,DNS根据服务器直…

    Linux干货 2017-06-22
  • 超文本传输安全协议—HTTPS

        超文本传输安全协议(英语:Hypertext Transfer Protocol Secure,缩写:HTTPS,常称为HTTP over TLS,HTTP over SSL或HTTP Secure)是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。H…

    Linux干货 2017-08-07
  • 软件包管理

    软件包管理 在linux中有人多的软件使用,比如我们使用的ifconfig,fdisk,btrfs文件系统等。可能这些软件在你原有的linux系统中并不存在,那么我们如何去使用这些工具呢。我们知道windows在需要软件的时候需要安装,当然对于linux系统一样需要安装。在linux下常用的安装工具我们使用的是rpm程序包(当然我们这边是针对CentOS而言…

    Linux干货 2016-08-19
  • X-Y Problem

    X-Y Problem 对于X-Y Problem的意思如下: 1)有人想解决问题X2)他觉得Y可能是解决X问题的方法3)但是他不知道Y应该怎么做4)于是他去问别人Y应该怎么做? 简而言之,没有去问怎么解决问题X,而是去问解决方案Y应该怎么去实现和操作。于是乎: 1)热心的人们帮助并告诉这个人Y应该怎么搞,但是大家都觉得Y这个方案有点怪异。2)在经过大量地讨…

    Linux干货 2016-08-15

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-19 11:06

    find命令是笔试中常见的考点,同时find的处理动作也是很重要的,希望课后能多加练习,熟练掌握。