课程内容

    1、文件查找之find命令详解

    2、文件特殊权限详解

    3、linux中的任务计划实现详解

    4、facl及while和until循环


一、文件查找:根据文件各种属性找到相对应文件的过程。

        文本搜索:文件查找和文本搜索的区别是什么? 

        grep,egrep,fgrep 这些是字符串的匹配的查找,本来grep是不能找文件本身的。grep集合管

        道来实现文件查找。

        文件查找:locate,find 

            

            非实时查找:根据数据库或者索引来查找 (locate),依赖于索引,而索引构建相当                       占用资源,索引的创建是在系统空闲是有系统自动进行(每天执行的任务);

                    手动执行使用updatedb命令。查找速度快,非精准查找。

            

            实时查找:遍历所有文件进行条件匹配 (find)

                      精准查找、精确匹配、速度慢

            find [option]...[查找路径][查找条件][处理动作]

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

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

                 处理动作:默认为显示在屏幕          

                    查找条件:-name"文件名称":支持使用globbing字符(*、?、[]、[^])

                              -iname"文件名称":支持globbing,忽律字符大小写

                              -user username:根据文件的属主查找

                              -group groupname :根据文件的属组查找

                              -UID -GID:根据用户ID号查找

                    注意:删除一个用户后,其属主、属组还有ID号,可以使用UID GID查找。

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

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

                  组合条件查找:与:-a 同时满足,或:-o 满足一个条件,非:-not,!,条件取反

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

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

           举例:find /etc -not -user root -a -name "p*[0-9]*" -ls  ;find /etc -user root


         根据文件类型查找:-type TYPE

                    f:普通文件

                    d:目录文件

                    l:符号链接

                    b:块设备

                    c:字符设备

                    s:套接字文件

                    p:命名管道

            

         -size [+|-]#UNIT   常用单位: k, M, G

        #UNIT: #-1 < x <= #

        -#UNIT: x <= #-1

        +#UNIT: x > #


        根据时间戳查找:以“天”为单位

        -atime [+|-]#

        +#:x >= #+1

        -#:x < #

        #: # <= x < #+1 

        -mtime

        -ctime


        以“分钟”为单位 

        -amin

        -mmin

        -cmin


        根据权限查找:

        -perm [+|-]MODE

        MODE: 与MODE精确匹配

        find ./ -perm 644

        +MODE: 任何一类用户的权限只要能包含对其指定的任何一位权限即可;以属主为例,

        find ./ -perm +222

        -MODE:每类用户指定的检查权限都匹配:

        为三类用户所有指定的检查权限都能够被包含

        find ./ -perm -222


        处理动作:

        -print: 默认处理动作,显示

        -ls:类似于ls -l

        -exec COMMAND {} \;

        -ok COMMAND {} \;


        find: 一次性查找符合条件的所有文件,并一同传递给给-exec或-ok后面指定的命令;但,有些命令不能接受过长的参数;此时使用另一种方式


        find | xargs COMMAND


    总结:find [查找路径] [查找条件] [处理动作]

    查找条件:

-name, -iname, -user, -group, -uid, -gid, -nouser, -nogroup, -type, -size, -atime, -mtime, -ctime, -amin, -mmin, -cmin, -perm

组合:-a, -o, -not