find命令使用及Linux任务调度(2)

n:[n,n+1)
                        +n:[n+1,+oo)
                        -n:[now,n)

以分钟为时间单位进行查找:
                    -amin [+|-]n:
                    -cmin [+|-]n:
                    -mmin [+|-]n:

根据文件的大小进行查找:
                -size [+|-]n[cwbkMG]
                    n:(n-1,n]
                    +n:[n,+oo)
                    -n:[0,n-1]
            ~]# find /etc -size +2M
            逻辑运算操作符组合前面的条件进行复杂逻辑判断:
                -a | -and:逻辑与运算,默认就是该逻辑运算,可省略;
                -o | -or:逻辑或运算;
                -not | !:逻辑非运算;

德摩根定律依然生效;

根据权限查找:
                -perm [/|-]mode
                    mode:精确权限匹配,意思是查找必须与指定的权限位完全匹配的文件;
                    /mode:任何一个权限位的权限中只要有一个权限能够满足条件,即为匹配成功,就可以将之作为查找结果;隐含了逻辑或关系;
                    -mode:每一个权限位的权限中都必须同时包含指定的权限位,才能满足条件,才算匹配成功,将之作为查找结果;隐含了逻辑与关系;

真  取反  假
                    假  取反  真
                    全部为真  取反  任何一个为假
                    全部为假  取反  任何一个为真

处理动作:
            -print:将符合条件的查找结果直接输出到标准输出;默认动作;
            -ls:将符合条件的查找结果以"ls -dils"命令的执行结果进行显示,也就是在最后加-ls就会显示出查找到的结果的详细信息;
            -exec command {} \;
            -ok command {} \;
                对于符合条件的查找结果按照"command"命令再执行一遍,{}为占位符,其含义是:用来引用find命令查找结果中的各个文件的路径信息;

注意:
                    -exec是非交互式的;-ok是交互式的;
                    很多命令是不能放置与管道后面使用的;因为管道输送的是纯字符串信息,因此管道后面的命令一般来讲都必须是处理字符串的命令;如果管道之后放置的命令不能处理纯字符串,通常,可以使用xargs名将其转换成能够被管道后面的命令处理的参数;

示例:
                        # find -perm /222 | xargs chmod a+w

# chmod a+w $(find -perm /222)

# find -perm /222 { -exec|-ok } chmod a+w {} \;
                        查找当前系统上没有属主或属组,且最近一个月内曾被访问过的文件,并将其属主属组均修改为root;
                        find / −nouser −nogroup  -atime -1 -exec chown root:root {} \;

Linux任务调度:
在未来的某个时间点,让系统自动触发我们事先编写好的命令的列表或脚本的执行,从而实现即使用户不在计算机旁可以按时完成任务;

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/17729.html