Linux文件查找详解

文件查找:


locate:

    非实时,模糊匹配,查找是根据全系统文件数据库进行的;速度快!

#updatedb  :手动生成数据库文件


find:

    实时

    精确

    支持众多查找标准

    遍历指定目录中的所有文件完成查找,速度慢!

find 查找路径  查找标准  查找到以后的处理运作

查找路径:默认为当前目录

查找标准:默认为指定路径下的所有文件

处理运作:默认显示


匹配标准:

    -name 'Filename' :对文件名作精确匹配

     文件名统配:

     * :任意长度的任意字符

     ?

     []

    -iname 'Filename' :文件名匹配时不区分大小写

    -regex PATTERN :基于正则表达式进行文件名匹配


    -user USERNAME:根据UID查找

    -group GROUPNAME:根据属组查找


    -uid UID:根据UID查找

    -gid GID:根据GID查找


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

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


-type :文件类型来查找

    f:普通文件

    d:目录

    c:字符

     b:块设备

    l:链接文件

    p:管道设备

     s:套接设备

    

-size 根据文件大小查找

    #k    +k :大于多少k   -k :小于多少k

    #M

    #G


组合条件:

    -a :与

    -o :或

    -not :非

例:查找当前目录下属主既不是uesr1又不是user2的文件

#find ./ -not -user user1 -a -not -user user2   

        或

#find ./ -not \(-user user1 -o -user user2\)


    -mtime:修改时间

    -ctime:改变时间

    -atime:访问时间

        [+/-]  +:表示至少有多少天没有访问过了  -:多少天之内访问过

    -mmin

    -cmin

    -amin

        [+/-]  +:表示至少有多少分钟没有访问过了  -:多少分钟之内访问过


    -perm MODE

    /mode:任意一位匹配即满足条件

    -mode:文件权限能完全包含此mode时才能显示


find的动作:

    -print:显示

    -ls:类似ls -l的形式显示每一个文件的详细

    -ok command {} \;每一次操作都需要用户确认

    -exec command {} \;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章