快速业务通道

linux下find,xargs命令详解和实例

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-29
n日以内的文件,而用加号 来限定更改时间在距今n日以前的
文件.
希望在系统根目录下查找更改时间在5日以内的文件,可以用:
$ find / -mtime -5 -print
为了在/ v a r / a d m目录下查找更改时间在3日以前的文件,可以用:
$ find /var/adm -mtime 3 -print
查找比某个文件新或旧的文件
如果希望查找更改时间比某个文件新但比另一个文件旧的所有文件,可以使用- n e w e r选
项.它的一般形式为:
newest_file_name ! oldest_file_name
其中,!是逻辑非符号.
这里有两个文件,它们的更改时间大约相差两天.
下面给出的f i n d命令能够查找更改时间比文件a g e . a w k新但比文件b e l t s . a w k旧的文件:
如果想使用f i n d命令的这一选项来查找更改时间在两个小时以内的文件,除非有一个现成的文件其更改时间恰好在两个小时以前,否则就没有可用来比较更改时间的文件.为了解决这一问题,可以创建一个文件并将其日期和时间戳设置为所需要的时间.这可以用t o u c h命令来实现.
Empire CMS,phome.net

假设现在的时间是2 3 : 4 0,希望查找更改时间在两个小时以内的文件,可以创建这样一个文件:一个符合要求的文件已经被创建;这里我们假设今天是五月四日,而该文件的更改时间是2 1 : 4 0,比现在刚好早两个小时.
现在我们就可以使用f i n d命令的- n e w e r选项在当前目录下查找所有更改时间在两个小时以内的文件:
$ find . -newer dstamp -print
使用type选项
U N I X或L I N U X系统中有若干种不同的文件类型,这部分内容我们在前面的章节已经做了介绍,这里就不再赘述.如果要在/ e t c目录下查找所有的目录,可以用:
$ find /etc -type d -print
为了在当前目录下查找除目录以外的所有类型的文件,可以用:
$ find . ! -type d -print
为了在/ e t c目录下查找所有的符号链接文件,可以用:
$ find /etc -type l -print
使用size选项
可以按照文件长度来查找文件,这里所指的文件长度既可以用块( b l o c k)来计量,也可以用字节来计量.以字节计量文件长度的表达形式为N c;以块计量文件长度只用数字表示即可.
就我个人而言,我总是使用以字节计的方式,在按照文件长度查找文件时,大多数人都喜欢使用这种以字节表示的文件长度,而不用块的数目来表示,除非是在查看文件系统的大小,这时使用块来计量更容易转换.
为了在当前目录下查找文件长度大于1 M字节的文件,可以用:
$ find . -size 1000000c -print
为了在/ h o m e / a p a c h e目录下查找文件长度恰好为1 0 0字节的文件,可以用:
$ find /home/apache -size 100c -print
为了在当前目录下查找长度超过1 0块的文件(一块等于5 1 2字节),可以用:
$ find . -size 10 -print
Empire CMS,phome.net

$ find /apps/audit -perm -7 -print | xargs chmod o-w
在下面的例子中,我们用g r e p命令在所有的普通文件中搜索d e v i c e这个词:
$ find / -type f -print | xargs grep "device"
在下面的例子中,我们用g r e p命令在当前目录下的所有普通文件中搜索D B O这个词:
$ find . -name *-type f -print | xargs grep "DBO"
注意,在上面的例子中, 用来取消f i n d命令中的*在s h e l l中的特殊含义.
小结
f i n d命令是一个非常优秀的工具,它可以按照用户指定的准则来匹配文件.使用e x e c和x a rg s可以使用户对所匹配到的文件执行几乎所有的命令.

Empire CMS,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号