分类: LINUX
2011-09-06 09:21:11
文件搜索命令:find
所在路径:/user/bin/find
执行权限:所有用户
功能描述:查找文件和目录
语法:find
[搜索范围][匹配条件]
EG:
-name 根据文件名查找
*匹配任意字符 ?匹配单个字符
find
/etc –name init*
find /etc –name init???
Find /etc –name
*init
-size 根据文件大小查找 单位:数据块:512 数据块是最小的数据储存单位。
100m=102400k=204800
+n 大于多少 n 等于多少 -n 小于多少
Find / -size
+204800
在根目录下查找大于100M的文件
Find /home –user testuser
在home下查找用户testuser的文件
Find /etc -group adm
Find /etc –cmin
-5
在/etc下查找5分钟中内被修改过的属性文档和目录
Find /etc –size +163840 –a –size
-204800
在etc下查找大于80M小于100M的文件
Find /etc –name inittab –exec ls –l
{}\;
在etc下查找inittab文件并显示其详细信息
PS:find 搜索范围越小越好, 匹配的条件越精确越好。
根据文件所有者查找: -user
根据时间值查找:
Time
(天) min(分钟)
-atime -amin a-access
访问
-ctime -cmin c-change 改变属性(ls
–l,权限,所有者,所属组….)
-mtime -mmin
m-modify 改变文件内容
根据文件类型查找:-type
f
二进制文件
l 软连接文件
d
目录
逻辑连接符:-a -o
-a a=and 逻辑与 两个条件都符合
-o o=or 逻辑或 两个条件符合一个即可
Find 搜索范围 匹配条件 -exec/-ok 命令 {} \ ;
-exec
命令 {} \ ;
-ok 询问确认
{} 代表 find
查找的结果
\ 转义字符 让它后面的命令或符号使用其本身的含义
;结束
所以\ ;表示 ;使用本身的含义结束的
m a
不提示删除A文件夹
1、并不支持所有命令,常用 ls- l rm cp mv
2、-exec 和 –ok
只支持find命令
Find /etc –name init??? –exec cp –p {} /backup \;
Find
/etc -name inittab –exec ls –l {} \;
Find /home –user test –ok rm {}
\;
Find /etc –name init* -a –type f –exec cp –p {} /backup \;
根据I节点查找
-inum number
Find . –inum 1815309 –ok rm {} \;
Find . –inum 1815309 –ok mv
{} abc \;
Find /etc –inum –iname
‘X??’
文件名查找匹配条件过于简单的话,匹配表示式用单引号括起来
-inum 是忽略大小写 invert name
原文地址: