linux的find查找命令用法

| No Comments | No TrackBacks

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将会给你带来太多的方便

No TrackBacks

TrackBack URL: http://www.wujianrong.com/mt-tb.cgi/1012

Leave a comment

About this Entry

This page contains a single entry by kevinwu published on August 29, 2006 4:57 PM.

LINUX下FTP服务器配置 was the previous entry in this blog.

重新想像 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.