快速业务通道

Linux下的搜索工具find基本用法

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-08

我们经常要在日常的工作中查找文件,要说linux下最强大的文件查找工具,非find莫属.find可以从文件名、读取修改时间、大小、类型等等来筛选文件,可以完成日常几乎所有的查找需求.

来看一个简单的例子:

find /tmp/ -name ''galeki*''

意思就是在/tmp目录下找出以“galeki”开头的文件,-name指出是对文件名进行筛选,是不是很简单明了?除了文件名,find还有更强大的筛选条件:

1.时间:

参数 意义
-atime n 上一次存取时间在n*24小时前以内的文件
-ctime n 上一次状态改变在n*24小时前以内的文件
-mtime n 上一次修改时间在n*24小时前以内的文件
-newer file 比file所指的文件还要新的文件

2.大小:

参数 意义
-size n[bkMG] 大小为n(b为比特,k为KB,M为MB,G为GB)的文件

3.所有者:

参数 意义
-user name 所有者用户名称是name的文件
-group name 所有者用户组群名称是name的文件

例子:

拥有帝国一切,皆有可能。欢迎访问phome.net
find /tmp/ -name ''sess*'' -mtime 1 #在/tmp目录下找到所有以''sess''开头、并且在一个小时以内修改过的文件
find ./ -name ''*.zip'' -size 546k #在当前目录下找到所有546KB的zip压缩包文件
find /tmp/ -user ''galeki'' #在/tmp目录下找到所有所有者为galeki的文件

另外,还可以用" "、"-"来进一步修饰时间和大小的条件:

find src/ -mtime 2 #找出src目录下上一次修改时间在2天以前的文件
find download/ -size 50M #在download目录下找出大于50M的文件

光找出文件还不够,我们还要对找出的文件进行处理才有意义,一般来讲可以把find的查找结果传递给其他的命令做进一步处理.find本身也提供了许多处理动作的选项.

常用的处理动作:

参数 意义
-print
打印出找出文件的完整地址,一个文件一行
-delete
删除找出的文件
-exec command {} ;

对每一个找到的文件执行command命令,

并用文件替换"{}",“;”是固定的结束符.

例子:

find /tmp/ -ctime 7 -delete #删除/tmp目录下一周以前创建的文件
find ./ -name ''*.unk'' -exec file {} ; #找出当前文件夹下后缀是unk的文件,并用file命令显示每个文件的文件类型

拥有帝国一切,皆有可能。欢迎访问phome.net

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号