您的位置:首页 > 运维架构 > Linux

Linux基础(十一)--Linux文件查找命令Find详解

2014-04-20 22:54 731 查看
本文详细介绍了Linux中Find命令的相关知识

在文件系统中,我们常常会去查找某个文件,而在Linux中locate和find都是用于查找文件的。
其中locate命令是非实时查找,它会根据数据库进行查找,所以速度快,但属于模糊查找。命令的格式是 # locate FILE。而find是实时查找,精确匹配,但速度慢。

(1)命令格式
#find [查找位置] [查找标准] [处理动作]
查找位置:默认为当前目录;

查找标准:默认为查找指定目录下的所有文件;

处理动作:默认为显示到标准输出。

(2)选项
1.查找标准选项:
-uname "文件名称" :根据文件名查找(支持glob)




-iuname "文件名称" :根据文件名查找,但是不区分大小写



-user USERNAME :根据属主查找



-group GRPNAME :根据属组查找。这里不在举例
-uid UID:根据uid查找




-gid GID:根据gid查找
-nouser:查找没有属主的文件
-nogroup:查找没有属组的文件
-type:根据文件类型查找
f:普通文件 d:目录 b:块设备 c:字符设备 l:符号链接 p:命名管道 s:套接字文件



-size :根据文件大小查找
这里有些特殊,例如# find -size 12M执行后只会显示大小为11M到12M之间的文件。而# find -size +2M则是显示文件大小大于2M的文件,# find -size -2M则是显示文件大小小于2M的文件。常用的单位有k(必须小写),M(大写),G(大写)



-atime [+|-]#:查找最后#天访问的文件,类似的命令还有-amin
-mtime [+|-]#:查找最后#天修改的文件,类似的命令还有-mmin
-ctime [+|-]#:查找最后#天改变的文件,类似的命令还有-cmin
-perm [+|-]MODE:根据权限查找

没有[+|-]表示精确权限匹配
+MODE:任何一类用户的任何一位权限匹配即可

-MODE:3类用户的每一位权限都需要包含

2.组合条件查找选项:
-a:与(默认)
-o:或

-not,!:非

例如:查找/tmp目录下没有属主,并且文件名以一个字符.test文件:
# find /temp -name "?.test" -nouser -ls

3.处理动作选项:
-print:打印查找到的文件
-ls:显示查找到的文件的详细信息 -exec COMMAND \; :执行其他命令 例如把30天没访问的文件改为原文件名.old: # find /tmp -atime +30 -exec mv {} {}.old \; | -xargs -i:执行其他命令,与-exec一样 -ok COMMAND \; :执行其他命令。每一个要确认

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