手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网站运营>建站经验>列表

Linux中文档查找技术大全(find命令)

来源:互联网 作者:west263.com 时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

例如我们知道一个Linux文档大小为1,500 bytes,那么我们可是使用如下命令来查询find / -size 1500c,字符 c 表明这个要查找的文档的大小是以bytes为单位。假如我们连这个文档的具体大小都不知道,那么在Linux中还能够进行模糊查找方式来解决。例如我们输入find/ -size 10000000c 这个命令,则标明我们指定系统在根目录中查找出大于10000000字节的文档并显示出来。命令中的“+”是表示需要系统只列出大于指定大小的文档,而使用“-”则表示需要系统列出小于指定大小的文档。下面的列表就是在Linux使用不同“ find"命令后系统所要作出的查找动作,从中我们很容易看出在Linux中使用“find"命令的方式是很多的,“ find"命令查找文档只要灵活应用,丝毫不必在WINDOWS中查找能力差。

find / -amin -10 # 查找在系统中最后10分钟访问的文档
find / -atime -2 # 查找在系统中最后48小时访问的文档
find / -empty # 查找在系统中为空的文档或文档夹
find / -group cat # 查找在系统中属于 groupcat的文档
find / -mmin -5 # 查找在系统中最后5分钟里修改过的文档
find / -mtime -1 #查找在系统中最后24小时里修改过的文档
find / -nouser #查找在系统中属于作废用户的文档
find / -user fred #查找在系统中属于FRED这个用户的文档


下面的列表就是对find命令所能够指定文档的特征进行查找的部分条件。在这里并没有列举任何的查找条件,参考有关Linux有关书籍能够知道任何find命令的查找函数。
-amin n
查找系统中最后N分钟访问的文档
-atime n
查找系统中最后n*24小时访问的文档
-cmin n
查找系统中最后N分钟被改变状态的文档
-ctime n
查找系统中最后n*24小时被改变状态的文档
-empty
查找系统中空白的文档,或空白的文档目录,或目录中没有子目录的文档夹
-false
查找系统中总是错误的文档
-fstype type
查找系统中存在于指定文档系统的文档,例如:ext2 .
-gid n
查找系统中文档数字组 ID 为 n的文档
-group gname
查找系统中文档属于gnam文档组,并且指定组和ID的文档


Find命令的控制选项说明:
Find命令也提供给用户一些特有的选项来控制查找操作。下表就是我们总结出的最基本,最常用的find命令的控制选项及其用法。
选项
用途描述
-daystart
.测试系统从今天开始24小时以内的文档,用法类似-amin
-depth
使用深度级别的查找过程方式,在某层指定目录中优先查找文档内容
-follow
遵循通配符链接方式查找; 另外,也可忽略通配符链接方式查询
-help
显示命令摘要
-maxdepth levels
在某个层次的目录中按照递减方法查找
-mount
不在文档系统目录中查找, 用法类似 -xdev.
-noleaf
禁止在非UNUX文档系统,MS-DOS系统,CD-ROM文档系统中进行最优化查找
-version
打印版本数字


使用-follow选项后,find命令则遵循通配符链接方式进行查找,除非您指定这个选项,否则一般情况下find命令将忽略通配符链接方式进行文档查找。

-maxdepth选项的作用就是限制find命令在目录中按照递减方式查找文档的时候搜索文档超过某个级别或搜索过多的目录,这样导致查找速度变慢,查找花费的时间过多。例如,我们要在当前(.)目录技巧子目录中查找一个名叫fred的文档,我们能够使用如下命令
find . -maxdepth 2 -name fred

假如这个fred文档在./sub1/fred目录中,那么这个命令就会直接定位这个文档,查找很容易成功。假如,这个文档在./sub1/sub2/fred目录中,那么这个命令就无法查找到。因为前面已给find命令在目录中最大的查询目录级别为2,只能查找2层目录下的文档。这样做的目的就是为了让find命令更加精确的定位文档,假如您已知道了某个文档大概所在的文档目录级数,那么加入-maxdepth n 就很快的能在指定目录中查找成功。

使用混合查找方式查找文档
find命令能够使用混合查找的方法,例如我们想在/tmp目录中查找大于100000000字节并且在48小时内修改的某个文档,我们能够使用-and 来把两个查找选项链接起来组合成一个混合的查找方式。
find /tmp -size 10000000c -and -mtime 2

学习过电脑语言的朋友都知道,在电脑语言里,使用and ,or 分别表示“和”和“或”的关系。在Linux系统的查找命令中相同通用。
更有这样的例子,
find / -user fred -or -user george

我们能够解释为在/tmp目录中查找属于fred或george这两个用户的文档。
在find命令中还能够使用“非”的关系来查找文档,假如我们要在/tmp目录中查找任何不属于panda的文档,使用一个简单的
find /tmp ! -user panda
命令就能够解决了。很简单。

查找并显示文档的方法
查找到某个文档是我们的目的,我们更想知道查找到的文档的周详信息和属性,假如我们采取现查找文档,在使用LS命令来查看文档信息是相当繁琐的,现在我们也能够把这两个命令结合起来使用。
find / -name "httpd.conf" -ls

系统查找到httpd.conf文档后立即在屏幕上显示httpd.conf文档信息。
12063 34 -rw-r--r-- 1 root root 33545 Dec 30 15:36 /etc/httpd/conf/httpd.conf

下面的表格就是一些常用的查找文档并显示文档信息的参数和使用方法
选项
用途描述
-exec command;
查找并执行命令
-fprint file
打印文档完整文档名
-fprint0 file
打印文档完整文档名包括空的文档
-fprintf file format
打印文档格式
-ok command;
给用户命令执行操作,根据用户的Y 确认输入执行
-printf format
打印文档格式
-ls
打印同种文档格式的文档.





文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!