linux系统上有以下两个用于查找文件的命令:

    locate:

            优点:基于数据库查找,速度快。

            缺点:不是实时查找,查找的结果不够准确

    find:

            优点:实时查找,能够根据指定的单一条件或组合条件进行查找,查找结果精准

            缺点:查找速度较locate要慢

    在工作中,find命令比较常用


    find 命令使用格式:

        find [option] [directory] [condition] [action]

        缺省模式时,会列出当前目录及其子目录的所有文件

        condition:

                -name:按文件名查找,区分大小写

                -iname:按文件名查找,不区分大小写

                -size [-/+]#:按文件的大小进行查找,常用单位有k(小写)、M、G

                      [-/+]#的意义:

                           #:#-1< SIZE < #

                          -#:0 < SIZE < #-1

                          +#:# < SIZE

                -type:按文件类型查找

                        f、d、l、s、b、c、p

                -user:按文件属主查找

                -group:按文件属组查找

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

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

                -perm:按文件权限进行查找

                       perm:文件的三类用户权限必须和给出的权限完全吻合

                      +perm:文件的九位权限只要有一位和给出的权限符合就行(隐含或的意思)

                      -perm:文件的三类用户权限包含给出的权限(隐含与的意思)

                -atime [-/+]#:文件的访问时间,以天为单位

                -mtime [-/+]#:文件的修改时间,以天为单位

                -ctime [-/+]#:文件的改变时间,以天为单位

                -amin [-/+]#: 文件的访问时间,以分钟为单位

                -mmin [-/+]#: 文件的修改时间,以分钟为单位

                -cmin [-/+]#: 文件的改变时间,以分钟为单位

                      [-/+]#的意义:

                           #:# < TIME < #+1

                          -#:# < TIME

                          +#:TIME < #+1

                condition支持-a、-o、-not等逻辑运算符,使用逻辑运算符是符合德·摩根定律

                        -not \( A -o B \) = -not A -a -not B

                        -not \( A -a B \) = -not A -o -not B

        action:    

                -exec:

                    示例:find . -type f -exec file '{}' \;

                -ok:

                    示例:find . -type f -ok file '{}' \;

                xargs:

                    示例:find . -type f | xargs file