zoukankan      html  css  js  c++  java
  • linux的find命令详解

    find命令是用来在给定的目录下查找符合给定条件的文件
      find [OPTIONS] [查找起始路径] [查找条件] [处理动作]
     
      一、OPTIONS参数
        -P、-L、-H:控制软连接的对待方式,用的不多。不介绍了
     
      二、查找路径
        就是个目录路径,相对和绝对都可以。
     
      三、查找条件
        (一)、根据名称查找
          -name "PATERN"
          -iname "PATERN" :不区分名称字母大小写
          
     
          -regex PATTERN:基于正则表达式的模式查找,匹配的是整个路径,而非单个文件名。
          
     
        (二)、根据文件从属关系查找:
            -user USERNAME:查找属主指定用户的所有文件;
            -group GRPNAME:查找属组指定组的所有文件;
     
            -uid UID:查找属主指定的UID的所有文件;
            -gid GID:查找属组指定的GID的所有文件;
     
            
     
            -nouser:查找没有属主的文件;
            -nogroup:查找没有属组的文件;
            
        (三)、根据文件的类型查找:
          -type:根据不同的文件类型筛选
    f 普通文件
    d 目录文件
    l 符号链接文件
    b 块设备 文件
    c 字符设备文件
    p 管道文件
    s 套接字文件
     
                
     
        (四)、根据文件的大小查找:
            -size [+|-]#UNIT
              常用单位:k, M, G
                #UNIT:(#-1, #]
                -#UNIT:[0,#-1]
                +#UNIT:(#, oo)
                
                1、1k时:a3只有15个字节,也被算做1k也查询,即条件符合大于0k ( #-1 ),小于等于1k (#)
                2、+1k时:a和a1满足大于1k(#)的条件
                3、-62k时:只有a3满足大于等于0,小于等于 61k(#-1)的要求。
     
        (五)、 根据时间戳查找:
            按照atime(文件的最后访问时间)、mtime(文件的最后修改时间)、ctime(文件最后改变时间)三个变量来查询:
              以天为单位,
              -atime [+|-]#
                  #:[#, #-1) :最后访问时间在#天前(大于等于#天前,小于#-1天前)
                        等价于最后访问时间与当前的时间差 大于 (#-1)*24小时,小于等于 #*24小时
                  -#:(#, 0] :最后访问时间在#天以内,不包括24小时前的那一刻。
                        等价于最后访问时间与当前的时间差小于 #*24小时
                  +#:(oo, #-1] :最后访问时间在#-1天以前的。包括#-1天前
                        等价于最后访问时间与当前的时间差大于等于 #*24小时
                      -mtime
                      -ctime
     
          
     
        以“分钟”为单位:
            -amin
            -mmin
            -cmin
     
        -daystart:时间条件的开始先决条件。如果没有的时候,比较的开始时间为当前时间。如果有此参数,则比较的开始时间为当天的23:59:59。
        
     
        查询出来的各个文件名称对应时间如下:
        
     
    文件名 修改时间
    服务器当前时间 09/08 17:34
    a 09/08 17:20
    b 09/07 12:20
    c 09/08 13:20
    d 09/07 22:20
     
        
     
        
     
     
        (六)、根据权限查找
            -perm
            -perm [/|-]mode
              mode:精确权限匹配;
              /mode:任何一类用户(u,g,o)的权限中的任何一位(r,w,x)符合条件即满足;9位权限之间存在“或”关系;
              -mode:每一类用户(u,g,o)的权限中的每一位(r,w,x)同时符合条件即满足。9位权限之间存在“与”关系;
              看案例:
              
                
              (1):精确查找。就是匹配权限值完全相等的;
              
     
              (2):/mode。 只要有一组用户匹配到一个权限即可。
              通俗说:就是属主拥有给定属主权限的某一个,或者数组拥有给定权限的某一个,或者其他用户拥有给定权限的某一个即可。
              
              表示属主拥有执行权限
              或者数组拥有写权限,
              或者其他用户拥有写权限
     
              (3):-mode。并且的关系。
              通俗说:就是给定的属主权限必须拥有。并且给定的数组权限必须拥有。并且给定的其他用户权限必须拥有。
     
              
              表示属主拥有执行权限
              并且数组拥有写权限,
              并且其他用户拥有写权限
     
            处理动作:
              -print:输出至标准输出;默认的动作;
              -ls:类似于对查找到的文件执行“ls -l”命令,输出文件的详细信息;
              -delete:删除查找到的文件;
              -fls /PATH/TO/SOMEFILE:把查找到的所有文件的长格式信息保存至指定文件中;
              -ok COMMAND {} ; :对查找到的每个文件执行由COMMAND表示的命令;每次操作都由用户进行确认;
              -exec COMMAND {} ; :对查找到的每个文件执行由COMMAND表示的命令;
     
              注意:find传递查找到的文件路径至后面的命令时,是先查找出所有符合条件的文件路径,并一次性传递给后面的命令;
     
                但是有些命令不能接受过长的参数,此时命令执行会失败;另一种方式可规避此问题:
                 find | xargs COMMAND
  • 相关阅读:
    UESTC cdoj 619 吴神,人类的希望 (组合数学)
    Codeforces Round #317 (Div. 2) D Minimization (贪心+dp)
    Codeforces Round #317 div2 E div1 C CNF 2 (图论,匹配)
    Codeforces Round #317 (Div. 2) C Lengthening Sticks (组合,数学)
    UVA 1412 Fund Management (预处理+状压dp)
    UVA
    codeforces Gym 100338F Spam Filter 垃圾邮件过滤器(模拟,实现)
    WebSocket 学习教程(二):Spring websocket实现消息推送
    dwr的ScriptSession和HttpSession分析
    WebSocket 学习教程(一):理论
  • 原文地址:https://www.cnblogs.com/scrit/p/5854197.html
Copyright © 2011-2022 走看看