您的位置:首页 > 其它

文件查找命令之find

2014-03-03 14:23 225 查看
一.find命令在一个目录(及子目录)中搜索文件 locate在数据库搜索文件 find与loacte的区别 find: 实时查找:速度慢 精确匹配 locate: 依赖于数据库 非实时查找,结果非精确 查找速度快 模糊查找二.find命令用法: find [options] [查找路径] [查找条件] [处理动作] 查找路径:默认为当前目录 查找条件:默认为查找指定路径下的所有文件 处理动作:默认为显示1查找条件1)根据文件名查找:–[i]name "文件名称”文件名支持通配符 (* ? [ ] [^ ])和i一起使用,查找时不区分文件名字符大小写。eg1如下所示查找文件名含yum的文件,不区分大小写。


2)根据文件属主属组查找:-user UserName 或者-uid UID 根据文件属主或者uid查找;-nouser 查找没有属主的文件-group GroupName 或者-gid GID 根据文件属组或者gid查找;-nogroup 查找没有属组的文件;Eg2查找/tmp目录下属组为root的文件

3)根据组合条件查找:-a: 与,同时满足-o: 或,-not, !:非,取反非A,并且非B: 非(A或B)非A,或非B: 非(A且B)Eg3查找/tmp目录下属主为hyd并且文件名为aaa的文件。

4)根据文件类型查找-type [f,d,b,c,l,p,s]f: 普通文件d: 目录b: 块设备c: 字符设备l: 符号链接文件p: 命名管道s: 套接字eg4查找/tmp目录下是目录的文件

5)根据文件大小查找 -size [+|-]#Unit #: (#-1)<x<=# Unit(常用单位):k, M, G Eg5查找/tmp目录下

文件大于2k的文件。6)根据时间戳查找: 以天为单位(time): -atime(访问时间)[+|-]# +: 表示(#+1)天之外被访问过; -: 表示#天之内被访问过;无符号:表示短于(#+1)> x >=#天的时间段被访问过; -mtime(修改时间)用法同上 -ctime(改变时间)用法同上以分钟为单位(min): -amin[+|-]#用法同上 -mmin用法同上 -cmin用法同上Eg6查找/tmp目录下文件改变时间在30分以内的文件。

7)根据文件权限查找-perm [+|-]MODEMODE:精确匹配+MODE: 任何一类用户的任何一位权限匹配-MODE: 每类用户的指定要检查的权限位都匹配;Eg7查找/tmp目录下文件所有文件属主具有读写,属组具有写其,他具有执行的权限的文件。

2根据处理动作查找 -print:打印在标准输出上; -ls:以长格式输出各文件信息; -execCOMMAND {} \; :对查找到的文件执行指定的命令{}表示占位符,接收来自前方find命令所查找的文件,并对文件操作。Eg8查找/tmp目录下文件改变时间在60分种以内的文件并且列出来。

-okCOMMAND {} \; : 交互式的-exec;Eg9查找/tmp目录下文件改变时间在30分以内的文件,需要交互。

find | xargs COMMANDEg10查找/tmp目录下文件名含doc的文件无法删除

管道传递的事字符串,而不是文件,不能做文件处理,可以用xargsEg11查找/tmp目录下文件名含doc的文件可以法删除

find把查找到的所有文件一次性地传递给-exec所指定的命令xargs命令每次只获取一部分文件而不是全部。下面的例子只能用-exec,不可以用xargs.Eg12查找/tmp目录下文件名含doc的文件,并重命名为dox

本文出自 “青鸟” 博客,请务必保留此出处http://goodgirl.blog.51cto.com/3708009/1366551
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: