免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 821 | 回复: 0
打印 上一主题 下一主题

linux的find查找命令 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-06-16 10:15 |只看该作者 |倒序浏览
find  命令在linux中是很常用到的一个查找命令,它的功能非常地强大。可以结合正则匹配来搜索系统中的指定的内容,以下我就记录一下这个find常用到的一些用法
  
  首先我们来看看find的总体用法
  find  path option [-print -exec  -ok]
 
 其中path是指定在哪个路径中查找内容。如/var下查找内容,option是find中的一些属性值,常用的有
-name,-type,-mtime,-ctime,-atime,-user,-group,-nouser,-nogroup,-perm等,
[-print -exec
-ok]是可选属性值,-print是指把查找到的内容输出到指定的地方,-exec与-ok都是执行另处的command命令,但两都也有一点不
同,-exec在执行指定的command时不会给用户显示提示或操作信息,但是-ok就会在有提示询问操作时给用户显示信息,直到用户做了选择时才继续
执行。
  
  常用的option值说明
  -name  指定查找的内容是文件。
  -type  指定查找的文件的类型,它有d,l,b,p,f,c等文件类型,d是查找目录,l是查找链接档,b是查找块文件,p是查找管道文件,f是普通文件,c是字符设备文件
  -mtime,-ctime,atime都是指按时间查找,-mtime是文件的修改时间,-ctime是文件的创建时间,atime是后找开文件时间
  -user是查找指定用户帐号的文件
  -group是查找指定组帐号的文件
  -nouser查找无用户帐号文件
  -nogroup是查找无组帐号文件
  
  下面举几个例子说明一下find的用法
  (1)我想找出/etc目录下是passw开头的所有文件
      find /etc -name "passw*"  
  这个例子中"*"号是正则匹配中的“所有”的意思
  (2)我想找出/var/log目录下所有的前5天的.log文件
     find  /var/log -name "*.log" -mtime  +5
  这个例子中"+5"是指5天以前的文件,如是查"-5"则是5天以内的文件
  (3)我想找出/home目录下是"ygl"这个用户的文件
      find /home -user "ygl"
  (4)我想找出/home目录下是"ygl"这个用户的所有的普通档的文件
     find  /home -user "ygl" -type f
  (5)我想找出/var/log目录下的所有的.log文件并查看它的详细信息
      find /var/log -name "*.log" -type f -exec ls -l {}  \;
  这个例子中用到了可选属性-exec用来执行ls命令,其中的-exec或者-ok的用法都要在它所执行的command后面接" {}  \;"
  (6)我想查找出在/etc中以passw开头的所有文件中有没有ygl这些内容的
     find /etc -name  "passw*" -exec grep -in "ygl" {}  \;
  
  由上面几个例子中可以看出find命令的强大。在实际的使用过程中,你将会发现find将会给你带来太多的方便
                       
                       
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/71571/showart_1965615.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP