Find命令格式:
find [-H] [-L] [-P] [-D debugopts] [-O level] [path...] [expression]
find命令选项:
-name:使用文件名查找,支持使用通配符
-iname:使用文件名查找,不区分大小写。
-perm:使用文件权限查找
/+权限:匹配任何一类(u,g,o)的权限,符合"权限"内容就输出。
-+权限:u、g、o中只要有一个为"权限"内容,u、g、o都要匹配为"权限"的内容
-user和nouser:查找文件属于u的文件和查找没有属主的文件
-group和-nogroup: 查找文件属于g的文件和查找没有属组的文件
-uid和-gid:查找文件的uid为指定uid的文件和查找文件的gid为指定gid的文件
-type:根据文件类型来查找文件
f:普通文件
d:目录
l:符号连接文件
b:块设备文件
c:字符设备文件
p:命名管道文件
s:套接字文件
-regex:匹配整个文件路径字符串
-size:以文件大小来查找
-atime、-mtime和-ctime:根据时间来查找文件(以天为单位)
-amin、-mmin和-cmin:根据时间来查找文件(以分钟为单位)
-print:默认处理动作
-ls:对查找到的每个文件做"ls -l"动作
-delete:删除查找到的文件
-fls:后面指定一个路径,表示把查找到的内容保存到所指定的路径中
-ok:后面跟指令,表示执行指令对所查到的文件之前需要用户确认
-exec:后面跟指令,表示执行指令对所查到的文件之前无需用户确认
-a:组合查找条件的"与"
-o:组合查找条件的"或"
-not或者!: 组合查找条件的"非"(组合查找条件中优先级为"非"先于"与"先于"或",提升优先级可用())
例子:
- 查找/var目录属主为root,且属组为mail的所有文件;
2、查找/usr目录下不属于root、bin或hadoop的所有文件;
- 查找/etc目录下最近一周内其内容修改过,且属主不为root或hadoop的所有文件;
- 查找当前系统上没有属主或属组,且最近一周内曾被访问过的所有文件;
- 查找/etc目录下大于20k且类型为普通谁的的所有文件;
- 查找/etc目录下所有用户都没有写权限的文件;
- 查找/etc目录下至少有一类用户没有执行权限的文件;
- 查找/etc/init.d目录下,所有用户都有执行权限,且其它用户拥有写权限的文件;