今天学习了find的使用和用法,东西有点琐碎,整理一下。


    文件查找基本有两种方法 locate和find。locate的查找是非实时的,并且是模糊匹配,是根据全系统文件数据库进行的。也可以手动生成数据库就是updatedb这个命令,但是特别特别慢,要扫描全系统的。locate搜查的速度快,其他就没什么优势了,在这里只是略加介绍,就不多学习了。find的优势在于,实时,精确,并且支持众多查找目标,但是以为是遍历指定目录中的所有文件来完成查找的,所以速度有点慢。  


下面我们就来说下find的查找路径,查找标准,查找到以后的处理运作。

find 查找路径 查找标准 查找到以后的处理运作
   查找路径:默认为当前目录
   查找标准:默认为指定路径下的所有文件
   处理运作:默认为显示
  
匹配标准:
    -name 'FILENAME':对文件名作精确匹配
        文件名通配:
            *:任意长度的任意字符
            ?:任意单个字符
            []:表示一个范围
    -iname 'FILENAME': 文件名匹配时不区分大小写
    -regex PATTERN:基于正则表达式进行文件名匹配
   
    -user USERNAME: 根据属主查找
    -group GROUPNAME: 根据属组查找
   
    -uid UID: 根据UID查找
    -gid GID: 根据GID查找
   
    -nouser:查找没有属主的文件
    -nogroup: 查找没有属组的文件
   
    -type :根据文件类型来查找
        f: 普通文件
        d:目录文件
        b:块设备文件
        c:字符设备文件
        l:符号链接文件
        p:命令管道文件
        s:套接文件
   
    -size [+|-]指定查找大小的文件
        #k
        #M
        #G
        -size +100K  大于100K的文件  默认为字节
组合条件:
    -a:两个条件同时满足才显示
    -o:或条件
    -not :非
    这里是分先后顺序的  默认 not先于a先于o
   
按时间查找
    -mtime: -mtime +5至少有五天没有访问
    -ctime: -ctime -5表示五天之内修改过
    -atime:-atime 刚好五天之前修改过
        [+|-]#
    -mmin  用法同上,不过表示的是分钟
    -cmin
    -amin
        [+|-]#
   
    -perm MODE:精确匹配 根据权限精确查找
        /MODE: 任意一位匹配即满足条件 例如查找644,只要符合6,4,4任何一个都行
        -MODE: 文件权限能完全包含此MODE时才符合条件
               必须完全包括才行  例如 644 必须大于644才行 655  654 764
   
运作:
    -print: 显示
    -ls:类似ls -l的形式显示每一个文件的详细
    -ok COMMAND {} \; 每一次操作都需要用户确认
    -exec COMMAND {} \;不需要确认,(COMMAND命令)
   
   
这就是find的基本用法,基本语法。
    嘿嘿,每记一次印象就更深一次。再在联系中多多使用就会完全记住的,可能现在这些对我有点难,但是我相信我可以做好的