文件查找命令之find
2014-03-03 14:23
225 查看
一.find命令在一个目录(及子目录)中搜索文件 locate在数据库搜索文件 find与loacte的区别 find: 实时查找:速度慢 精确匹配 locate: 依赖于数据库 非实时查找,结果非精确 查找速度快 模糊查找二.find命令用法: find [options] [查找路径] [查找条件] [处理动作] 查找路径:默认为当前目录 查找条件:默认为查找指定路径下的所有文件 处理动作:默认为显示1查找条件1)根据文件名查找:–[i]name "文件名称”文件名支持通配符 (* ? [ ] [^ ])和i一起使用,查找时不区分文件名字符大小写。eg1如下所示查找文件名含yum的文件,不区分大小写。
![](http://s3.51cto.com/wyfs02/M01/19/D8/wKioL1MUHYWymVVYAABH54RLIlw761.jpg)
2)根据文件属主属组查找:-user UserName 或者-uid UID 根据文件属主或者uid查找;-nouser 查找没有属主的文件-group GroupName 或者-gid GID 根据文件属组或者gid查找;-nogroup 查找没有属组的文件;Eg2查找/tmp目录下属组为root的文件
![](http://s3.51cto.com/wyfs02/M01/19/D8/wKioL1MUHa-DUQdkAABe4qGKK18435.jpg)
3)根据组合条件查找:-a: 与,同时满足-o: 或,-not, !:非,取反非A,并且非B: 非(A或B)非A,或非B: 非(A且B)Eg3查找/tmp目录下属主为hyd并且文件名为aaa的文件。
![](http://s3.51cto.com/wyfs02/M00/19/D7/wKiom1MUHfOSZzzEAABFCiYhXXE986.jpg)
4)根据文件类型查找-type [f,d,b,c,l,p,s]f: 普通文件d: 目录b: 块设备c: 字符设备l: 符号链接文件p: 命名管道s: 套接字eg4查找/tmp目录下是目录的文件
![](http://s3.51cto.com/wyfs02/M00/19/D8/wKioL1MUHeLC6JP2AAAxDiV7aus056.jpg)
5)根据文件大小查找 -size [+|-]#Unit #: (#-1)<x<=# Unit(常用单位):k, M, G Eg5查找/tmp目录下
![](http://s3.51cto.com/wyfs02/M02/19/D8/wKioL1MUHffCyTaXAACXiSfhHiA092.jpg)
文件大于2k的文件。6)根据时间戳查找: 以天为单位(time): -atime(访问时间)[+|-]# +: 表示(#+1)天之外被访问过; -: 表示#天之内被访问过;无符号:表示短于(#+1)> x >=#天的时间段被访问过; -mtime(修改时间)用法同上 -ctime(改变时间)用法同上以分钟为单位(min): -amin[+|-]#用法同上 -mmin用法同上 -cmin用法同上Eg6查找/tmp目录下文件改变时间在30分以内的文件。
![](http://s3.51cto.com/wyfs02/M02/19/D7/wKiom1MUHjzwAzLUAACZudhGTlU783.jpg)
7)根据文件权限查找-perm [+|-]MODEMODE:精确匹配+MODE: 任何一类用户的任何一位权限匹配-MODE: 每类用户的指定要检查的权限位都匹配;Eg7查找/tmp目录下文件所有文件属主具有读写,属组具有写其,他具有执行的权限的文件。
![](http://s3.51cto.com/wyfs02/M00/19/D8/wKiom1MUHkzy7xc_AACFVr7uvXA892.jpg)
2根据处理动作查找 -print:打印在标准输出上; -ls:以长格式输出各文件信息; -execCOMMAND {} \; :对查找到的文件执行指定的命令{}表示占位符,接收来自前方find命令所查找的文件,并对文件操作。Eg8查找/tmp目录下文件改变时间在60分种以内的文件并且列出来。
![](http://s3.51cto.com/wyfs02/M00/19/D8/wKiom1MUHmSA4iEtAABN9VCeHCs279.jpg)
-okCOMMAND {} \; : 交互式的-exec;Eg9查找/tmp目录下文件改变时间在30分以内的文件,需要交互。
![](http://s3.51cto.com/wyfs02/M01/19/D8/wKiom1MUHq7yKPPMAACJNV-CWbA237.jpg)
find | xargs COMMANDEg10查找/tmp目录下文件名含doc的文件无法删除
![](http://s3.51cto.com/wyfs02/M00/19/DA/wKioL1MUH5vDN3KSAABqQ7DAzvs969.jpg)
管道传递的事字符串,而不是文件,不能做文件处理,可以用xargsEg11查找/tmp目录下文件名含doc的文件可以法删除
![](http://s3.51cto.com/wyfs02/M02/19/D8/wKiom1MUHwuzCy3FAAA-88ab1yo698.jpg)
find把查找到的所有文件一次性地传递给-exec所指定的命令xargs命令每次只获取一部分文件而不是全部。下面的例子只能用-exec,不可以用xargs.Eg12查找/tmp目录下文件名含doc的文件,并重命名为dox
![](http://s3.51cto.com/wyfs02/M02/19/D9/wKioL1MUHwPCHPOGAABJRjG8nuQ064.jpg)
本文出自 “青鸟” 博客,请务必保留此出处http://goodgirl.blog.51cto.com/3708009/1366551
![](http://s3.51cto.com/wyfs02/M01/19/D8/wKioL1MUHYWymVVYAABH54RLIlw761.jpg)
2)根据文件属主属组查找:-user UserName 或者-uid UID 根据文件属主或者uid查找;-nouser 查找没有属主的文件-group GroupName 或者-gid GID 根据文件属组或者gid查找;-nogroup 查找没有属组的文件;Eg2查找/tmp目录下属组为root的文件
![](http://s3.51cto.com/wyfs02/M01/19/D8/wKioL1MUHa-DUQdkAABe4qGKK18435.jpg)
3)根据组合条件查找:-a: 与,同时满足-o: 或,-not, !:非,取反非A,并且非B: 非(A或B)非A,或非B: 非(A且B)Eg3查找/tmp目录下属主为hyd并且文件名为aaa的文件。
![](http://s3.51cto.com/wyfs02/M00/19/D7/wKiom1MUHfOSZzzEAABFCiYhXXE986.jpg)
4)根据文件类型查找-type [f,d,b,c,l,p,s]f: 普通文件d: 目录b: 块设备c: 字符设备l: 符号链接文件p: 命名管道s: 套接字eg4查找/tmp目录下是目录的文件
![](http://s3.51cto.com/wyfs02/M00/19/D8/wKioL1MUHeLC6JP2AAAxDiV7aus056.jpg)
5)根据文件大小查找 -size [+|-]#Unit #: (#-1)<x<=# Unit(常用单位):k, M, G Eg5查找/tmp目录下
![](http://s3.51cto.com/wyfs02/M02/19/D8/wKioL1MUHffCyTaXAACXiSfhHiA092.jpg)
文件大于2k的文件。6)根据时间戳查找: 以天为单位(time): -atime(访问时间)[+|-]# +: 表示(#+1)天之外被访问过; -: 表示#天之内被访问过;无符号:表示短于(#+1)> x >=#天的时间段被访问过; -mtime(修改时间)用法同上 -ctime(改变时间)用法同上以分钟为单位(min): -amin[+|-]#用法同上 -mmin用法同上 -cmin用法同上Eg6查找/tmp目录下文件改变时间在30分以内的文件。
![](http://s3.51cto.com/wyfs02/M02/19/D7/wKiom1MUHjzwAzLUAACZudhGTlU783.jpg)
7)根据文件权限查找-perm [+|-]MODEMODE:精确匹配+MODE: 任何一类用户的任何一位权限匹配-MODE: 每类用户的指定要检查的权限位都匹配;Eg7查找/tmp目录下文件所有文件属主具有读写,属组具有写其,他具有执行的权限的文件。
![](http://s3.51cto.com/wyfs02/M00/19/D8/wKiom1MUHkzy7xc_AACFVr7uvXA892.jpg)
2根据处理动作查找 -print:打印在标准输出上; -ls:以长格式输出各文件信息; -execCOMMAND {} \; :对查找到的文件执行指定的命令{}表示占位符,接收来自前方find命令所查找的文件,并对文件操作。Eg8查找/tmp目录下文件改变时间在60分种以内的文件并且列出来。
![](http://s3.51cto.com/wyfs02/M00/19/D8/wKiom1MUHmSA4iEtAABN9VCeHCs279.jpg)
-okCOMMAND {} \; : 交互式的-exec;Eg9查找/tmp目录下文件改变时间在30分以内的文件,需要交互。
![](http://s3.51cto.com/wyfs02/M01/19/D8/wKiom1MUHq7yKPPMAACJNV-CWbA237.jpg)
find | xargs COMMANDEg10查找/tmp目录下文件名含doc的文件无法删除
![](http://s3.51cto.com/wyfs02/M00/19/DA/wKioL1MUH5vDN3KSAABqQ7DAzvs969.jpg)
管道传递的事字符串,而不是文件,不能做文件处理,可以用xargsEg11查找/tmp目录下文件名含doc的文件可以法删除
![](http://s3.51cto.com/wyfs02/M02/19/D8/wKiom1MUHwuzCy3FAAA-88ab1yo698.jpg)
find把查找到的所有文件一次性地传递给-exec所指定的命令xargs命令每次只获取一部分文件而不是全部。下面的例子只能用-exec,不可以用xargs.Eg12查找/tmp目录下文件名含doc的文件,并重命名为dox
![](http://s3.51cto.com/wyfs02/M02/19/D9/wKioL1MUHwPCHPOGAABJRjG8nuQ064.jpg)
本文出自 “青鸟” 博客,请务必保留此出处http://goodgirl.blog.51cto.com/3708009/1366551
相关文章推荐
- LIS的O(nLogN)算法
- dilicms后台post原理
- WordPress插件/文章编辑插件s说明
- webApp添加到iOS桌面
- android 体系结构
- 软件测试模型综述
- oracle while的用法示例分享
- 九度1470:调整方阵
- Oracle AWR报表基本知识
- Oracle常出现的问题
- 实用技巧:如何用 CSS 做到完全垂直居中
- nil, Nil, NULL和NSNull的区别
- magento学习第一章
- 天使的翅膀--BCM5300X平台调试笔记
- 面试题整理 8 字符串排序扩展题
- node.js 初体验
- 内存管理之malloc和free
- 挂科的不进新名单(链表)(没答案)
- ajax初始化代码
- TextView属性大全