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命令来实现.
假设现在的时间是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
$ 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可以使用户对所匹配到的文件执行几乎所有的命令.
|
|||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: linux文件权限(一)下一篇: 让linux默认启动到命令行的方法
关于linux下find,xargs命令详解和实例的所有评论