find—查找条件
目 录
一、根据时间戳查找:
二、根据权限查找
三、根据文件所属人owner,文件所属组group查找
四、根据搜索层级查找
五、根据文件名查找
六、根据文件类型查找
find实时查找工具,通过遍历指定路径完成文件查找
(1)工作特点:
查找速度略慢
精确查找
实时查找
可以只搜索用户具备读取和执行权限的目录
(2)语法:
find [OPTION]…[查找路径] [查找条件] [处理动作]
查找路径:指定具体目标路径;默认为当前目录
查找条件:指定的查找标准,可以文件名、大小、类型、权限等标准进行;默认为找出指定路径下的所有文件
处理动作:对符合条件的文件做操作,默认输出至屏幕
本文主要针对查找条件进行详细解释
一、根据时间戳:
1、以“天”为单位
时间戳:atime 访问时间
mtime 文件数据修改时间
ctime 文件元数据修改时间
2、以“分钟”为单位
-amin
-mmin
-cmin
3、参数
( 代表大于
)代表小于
[代表大于等于
]代表小于等于
例如(0,3],表示大于0,小于等于3
#:[#,#+1)
+#: [#+ 1,∞]
-#: [0,#)
4、例子
(1)查找app目录中在一天之内修改过的文件
find /app –mtime -1
find [OPTION]… [查找路径] [查找条件] [处理动作]
分析:find的运用格式为find 目录(不写目录则默认当前目录) 查找条件(–mtime等)查找-1用法是小于一天,即[0 ,1)
注:查找条件可以用其他时间
二、根据权限查找:
1、-perm /mode:精确权限匹配
+mode[/mode]任何一类(u,g,o)对象的权限中只要能一位匹配即可,或关系,+从centos7开始淘汰,所以本文直接用centos6 centos7 中通用的 / 演示例子
2、-perm -mode:精确权限匹配
3、例子
(1)找出当前目录下 user有读权限或者其他人有写权限的文件
分析:不写路径的默认当前路径 4代表读权限;2代表写权限;1代表执行权限
/代表各个位上是或关系,
<1> user位上是4代表读权限,只要user上有读权限的都可以满足条件
<2>其他人为写权限的文件也满足条件。
<3>当有0时不用管这一位。
<4>三个位置之间的关系是或关系,除去0位置上,其他任意位满足条件即可。即查找文件的条件必须是,user位上有读权限或所 有人位上有写权限,所以全部文件都满足条件。前面的点“ .”代表当前目录。
(2)找出当前目录下 user有读权限且其他人有写权限的文件
find -perm -401
分析:—代表各个位上是或关系
<1> user位上是4代表读权限,user上必须有读权限才可以满足条件;
<2>其他人位上必须有写权限的文件才满足条件。
<3>当有0时不用管这一位。
<4>三个位置之间的关系是与关系,即查找文件的条件必须是,user位上有读权限且所有人位上 有写权限,所以只有file2和file3
三、根据文件所属人(owner)user,文件所属组group查找:
1、例子
(1)找出当前目录中所属人为root的文件
分析:当在查找所属人时加上-user 后面加上所属人
(2)找出当前目录中所属组为guan的文件
分析:当在查找所属组时加上-group 后面加上所属组
四、根据搜索层级查找:
1、当查找的目录太大,比如根目录,当只想查找根一级目录下的问价你,需要下面层级限制
-maxdepth level 最大搜索目录深度,指定目录为第1级
-mindepth level 最下搜索目录深度
2、例子
(1)查找根目录一级目录权限user有读权限且其他人有写权限的文件
find / -maxdepth 1 -perm -401
(2)-mindepth 对于最小搜索目录的意义不大,因为find的搜索属于贪婪模式,如果不指定最大的搜索目录时,会自动的向下一个目录搜索。
五、根据文件名查找:
1、-name “文件名称”:支持使用glob *, ?, [], [^]
2、例子
(1)找出etc目录下一级目录中所有以.txt结尾的文件
分析:在搜索文件名时,在前面加上-name ,对于模糊搜索,需要加双引号“”,*代表任意字符,一位。不能被识别,所 以需要\转译
(2)找出etc目录中所有名为a.txt的文件
分析:当搜索具体名字时不需要加双引号
六、根据文件类型查找:
1、根据文件类型查找:
-type TYPE:
• f: 普通文件
• d: 目录文件
• l: 符号链接文件
• s:套接字文件
• b: 块设备文件
• c: 字符设备文件
• p: 管道文件
2、例子
(1)找出etc一级目录下的目录问价
分析:使用find查找时,当查找给路径时,查找到的文件显示是绝对路径;当没有给出路径,即当前路径下,查找到的文件 显示是相对路径
原创文章,作者:guanman,如若转载,请注明出处:http://www.178linux.com/84694