find命令
功能--在目录层次里寻找文件
形式--find 【-H】【-L】【-P】【path...】【expression】
描述--在给定的【path...】里面按照优先级从左到右寻找【expression】,参数【-H/L/P】控制如何对待符号链接,【-P】为默认行为,表示从不跟随符号链接,【-L】表示跟随符号链接,【-H】默认不跟随符号链接,除非在命令行中明确表示文件是一个符号链接并且链接是可(be resolved)询的。【expression】由OPTIONS,TESTS,ACTIONS组成并由操作符分开
【OPTIONS】--OPTIONS我现在还没看懂,不过貌似也不常用
【TESTS】--
+n,表示比n大;
-n,表示比n小;
n,正好为n;
-amin n,文件最后一次访问时在n分钟之前;
-anewer file,文件最后被访问的时间比文件【file】最后被访问的时间迟;
-atime n,文件最后被访问时在n*24小时以前;
-cmin n,文件状态在n分钟之前修改过,文件状态即指文件的i节点状态;
-cnewer file,文件状态的修改时间比文件【file】状态的修改时间迟;
-ctime n,同上;
-empty,文件为空且必须为普通文件或者目录文件;
-fstyle type,表示在文件系统【type】中的文件;
-gid n,表示文件组ID号为n的文件;
-group gname,文件属于组名【gname】的文件,组ID也可当做组名;
-name pattern,基于文件名的查找,可使用通配符,使用通配符时切忌要加上单引号,通配符可使用*,?和[ ],[ ]表示匹配在方括号中的内容;
-ium n,i节点号为n的文件;
-links n,有n个链接的文件,这里的链接为i节点中的链接计数,可通过ls -l查看;
-mmin n,文件数据在n分钟以前改变的文件;
-mtime n,文件内容在n*24小时以前改变的文件;
-newer file,表示比文件【file】还要新的文件;
-nouser,表示文件的用户数字ID不匹配任何用户;
-nogroup,表示文件的组ID不匹配任何组ID;
-perm mode,文件权限位被严格限制在mode的文件,比如‘-perm g=w’表示列出文件权限位为组可写的文件,只有文件权限位0020的文件才满足;
-perm -mode,文件权限位只要满足mode即可;
-perm /mode,文件权限位满足mode中的任何一位即可;
-samefile name,找出与文件【name】有共同i节点的文件;
-size n,文件占用了n个单元的空间大小,n可以是b(512B),c(字节),w(两个字节),K(1024B),M(1048576B),G(1073741824B);
-type c,文件类型为c的文件,c可以是b(块特殊文件),c(字符特殊文件),d(目录文件),p(FIFO,管道),f(普通文件),l(符号链接),s(套接字文件);
-uid n,文件的数字用户ID为n;
-user uname,文件由用户uname所属,uname可以为用户数字ID;
-wholename pattern,文件名称匹配pattern,比如‘find . -wholename ‘./sr*sc’’,会找到‘./src/misc’,如果存在的话
【ACTIONS】--
-delete,删除文件;
-printf0,在标准输出上打印完整的文件名,以空字符结束;
-printf,在标准输出上打印完整的文件名,以新的一行结束;
-fprintf file,在文件【file】中打印完整的文件名,如果file不存在的话会在find执行时自动创建;
-fprintf0 file,同上,区别不大;