CloudCraft 2010-11-12
如何查找文件:find 目录/. -name 文件:查找文件在指定目录/当前目录下指定的文件名(eg:find / -name httpd -ctime 0[多少天内])。
find最强大,什么都能查,find是直接在硬盘上搜寻,功能强大,但耗硬盘,一般不要用。
locate能查所以,但跟whereis一样都是查数据库里的内容,locate同上,不过文件名是部分匹配。
which只能查可执行文件,which只能寻找执行文件,并在PATH变量里面寻找。
whereis只能查二进制文件、说明文档,源文件等,whereis从linux文件数据库(/var/lib/slocate/slocate.db)寻找,所以有可能找到刚刚删除,或者没有发现新建的文件。
find[PATH][option][action],参数:
1.与时间有关的参数:
-atimen:n为数字,意义为在n天之前的『一天之内』被access过的档案;
-ctimen:n为数字,意义为在n天之前的『一天之内』被change过状态的档案;
-mtimen:n为数字,意义为在n天之前的『一天之内』被modification过的档案;
-newerfile:file为一个存在的档案,意思是说,只要档案比file还要新,
就会被列出来~
2.与使用者或群组名称有关的参数:
-uidn:n为数字,这个数字是使用者的账号ID,亦即UID,这个UID是记录在
/etc/passwd里面与账号名称对应的数字。这方面我们会在第四篇介绍。
-gidn:n为数字,这个数字是群组名称的ID,亦即GID,这个GID记录在
/etc/group,相关的介绍我们会第四篇说明~
-username:name为使用者账号名称喔!例如dmtsai
-groupname:name为群组名称喔,例如users;
-nouser:寻找档案的拥有者不存在/etc/passwd的人!
-nogroup:寻找档案的拥有群组不存在于/etc/group的档案!
当您自行安装软件时,很可能该软件的属性当中并没有档案拥有者,
这是可能的!在这个时候,就可以使用-nouser与-nogroup搜寻。
3.与档案权限及名称有关的参数:
-namefilename:搜寻文件名称为filename的档案;
-size[+-]SIZE:搜寻比SIZE还要大(+)或小(-)的档案。这个SIZE的规格有:
c:代表byte,k:代表1024bytes。所以,要找比50KB
还要大的档案,就是『-size+50k』
-typeTYPE:搜寻档案的类型为TYPE的,类型主要有:一般正规档案(f),
装置档案(b,c),目录(d),连结档(l),socket(s),
及FIFO(p)等属性。
-permmode:搜寻档案属性『刚好等于』mode的档案,这个mode为类似chmod
的属性值,举例来说,-rwsr-xr-x的属性为4755!
-perm-mode:搜寻档案属性『必须要全部囊括mode的属性』的档案,举例来说,
我们要搜寻-rwxr--r--,亦即0744的档案,使用-perm-0744,
当一个档案的属性为-rwsr-xr-x,亦即4755时,也会被列出来,
因为-rwsr-xr-x的属性已经囊括了-rwxr--r--的属性了。
-perm+mode:搜寻档案属性『包含任一mode的属性』的档案,举例来说,我们搜寻
-rwxr-xr-x,亦即-perm+755时,但一个档案属性为-rw-------
也会被列出来,因为他有-rw....的属性存在!
4.额外可进行的动作:
-execcommand:command为其它指令,-exec后面可再接额外的指令来处理搜寻到
的结果。
-print:将结果打印到屏幕上,这个动作是预设动作!