find命令
1.1 find概述
1.1.1 介绍
可以对文件进行实时查找,精确查找;find是通过遍历指定目录中的所有文件完成查找所以执行的速度慢
1.1.2查找标准
支持众多查找标准(如支持文件名查找,根据文件权限查找,根据文件类型查找,还可以基于正则表达式对文件名做匹配。
1.1.3 命令格式
find 查找路径+查找标准+查找到以后的处理动作
(1)查找路径:省略的时候默认当前目录
(2)查找标准:默认为指定路径下的所有文件
(3)处理运作:默认为显示到屏幕上
1.2 命令格式详解
直接输入find命令时:可以显示当前目录下的所有文件以及隐藏文件,并且目录的下的子目录文件也显示出来
1.2.1 匹配标准
(1)-name ‘FILENAME’ :对文件名作精确匹配根据文件名查找
例如: find /etc/ -name ‘passwd’ 查找/etc/是否有passwd文件
(2)-iname 'FILENAME' :文件名匹配时 不区分大小写
(3) -regex PATTERN:基于正则表达式进行文件名匹配
(4) -user USERNAME:根据属主查找
例如:find /tmp –user root 查找/tmp 下属主是root的所有文件
(5) -group GROUPNAME :根据属组查找
例如:find /tmp –group root查找/tmp下属组是root的所有文件
(6)支持文件名同配(globbing)
*:任意长度的任意字符
?:匹配任意单个字符(就是代表一个字符)(几个?代表几个字符)
[ ] :指定范围内的任意单个 (文件名同配前面已做详细介绍这里不再过多强调)
例如
find /etc –name ‘passwd*’ 查找以passwd字符开头的所有文件
find /etc -name ‘*passwd’ 查找以passwd字符结尾的所有文件
find /etc -name ‘*passwd*’ 查找文件名包含passwd字符的所有文件
(7)-uid UID:根据UID查找(一个用户被删除后,此前属于这个用户的文件的属主就会变成这个用户此前的ID号)
(8) -gid GID:根据GID查找(一个组被删除后,此前文件的基本组是这个组的文件属组就会变成这个组此前的组ID号)
(9)-nouser :查找没有属主的文件 定期的执行这个命令把那些没有属住的文件都交给管理员,因为没有属主的文件其他用户可能有权限访问或通过一些漏洞获得权限,隐患很大;这个是我们在工作时必须要注意的
例如:find /tmp –nouser 查找tmp下没有属主的文件
(10)-nogroup:查找没有属组的文件
例如: find /tmp -nogroup 查找/tmp下没有属组的所有文件