标签:数据库
locate
    非实时,模糊匹配,根据文件系统的数据库进行查找;
    updatedb:生动生成文件数据库,这个数据库会在每天固定的时间自动生成,也可以用此命令手动生成。
/var/lib/mlocate/mlocate.db
    locate命令其实是find -name的另一种写法
whereis
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
 whereis [ -sbmu ] [ -SBM dir ... -f ] name...
-b:只查找二进制文件; 
-B<目录>:只在设置的目录下查找二进制文件; 
-f:不显示文件名前的路径名称; 
-m:只查找说明文件; 
-M<目录>:只在设置的目录下查找说明文件; 
-s:只查找原始代码文件; 
-S<目录>只在设置的目录下查找原始代码文件; 
-u:查找不包含指定类型的文件。
find
    实时、精确、支持众多查找标准
find 查找路径 查找标准 查找后进行的处理动作
    查找路径:默认为当前目录
    查找标准:默认为指定路径下的所有文件
    处理动作:默认为显示
查找标准
    -name “FILENAME“:对文件名进行精确匹配
    -iname ”FILENAME“:对文件名进行匹配,不区分大小写
    -regex PATTERN:基于正则表达式进行文件查找
    -user USERNAME:基于文件的属主进行查找
    -group GROUPNAME:
基于文件的属组进行查找    -uid UID:基于文件的UID进行查找    
    -gid GID:基于文件的GID进行查找
    注意:删除一个用户,属于这个用户属主文件将只保留UID号
    -nouser:没有属主
    -nogroup:没有属组
-type:指定文件类型
-size:指定文件大小
    [=|-]#10k
    [=|-]#10m
    [=|-]#10g
find -size 10k
    会匹配9k~10k之间的内容
对文件时间的查找
单位为天
-atime 
-mtime 
-ctime 
单位为分钟
-amin
-mmin
-cmin
对文件权限进行查找
-perm MOOD精确匹配
-perm -MOOD文件权限完全包含MOOD才匹配
-perm /MOOD任意一位匹配即可
组合查找
-a:默认,可省
-o:或者
-not:
find /tmp -not -user user1 -o -type d等价于find /tmp -not \(-user user1 -a -type d\)
动作
    -print:显示(默认)
    -print0:不换行显示
    -ls:类似于ls -l
    -ok COMMAND {} \;每一次操作都需要用户确认
        例子:find -atime +5 -ok mv {} {}.old \;
    -exec COMMAND  {} \;不需要用户确认
        例子:find -atime +2 -exec mv {} {}.old \;
    {}文件名占位符
    -path PATH :指定路径
    -prune:删除
除去某一路径
find /usr/sam            -path "/usr/sam/dir1"   -prune            -o  -printfind [PATH EXPREESION]-a [PATH EXPREESION]    -a [PATH EXPREESION] -o  [PATH EXPREESION]
 
这个表达式组合特例可以用伪码写为
if -path "/usr/sam";then   -pruneelse   -printfi
文件查找之locate、whereis与find
标签:数据库
原文地址:http://hiyang.blog.51cto.com/10728919/1762283