您的位置:首页 > 运维架构 > Linux

linux查找搜索命令<四>(locate)

2012-01-13 15:04 471 查看
linux查询搜索命令之whereis

说明:蓝色=命令名称
浅绿=命令参数
紫色=目录
系统环境:CentOS 6.2 i686
意外:最小化安装Centos 6.2 不带locate命令,需执行yum install mlocate 来进行安装(mlocate优点见结尾补充内容)。

命令:locate
语法:locate [参数]
常用参数:
-r 正则表达
-i 不区分大小写

-d 指定资料库的路径(可用updatedb生成数据库)

实例:

1、普通查询:locate rc.local



2、不区分大小写:locate -i rc.local



3、正则查询(db结尾的文件):locate -r db$



命令:updatedb

常用参数:

-o 数据库的输出路径,默认路径“/var/lib/mlocate/mlocate.db”(可通过配置文件更改)

-U 建立数据库开始的根目录,默认“/”(可通过配置文件更改)

配置文件:/etc/updatedb.conf

内容:



注解:

a) PRUNE_BIND_MOUNTS="yes"的意思是:是否进行限制搜索。

b) PRUNEFS="9p afs ........." 排除检索的文件系统类型,即列出的文件系统类型不进行检索。

c) PRUNENAMES=".git .bzr .hg .svn"表示对哪些后缀的文件排除检索,也就是列在这里面的后缀的文件跳过不进行检索。不同后缀之间用空格隔开。

d) PRUNEPATHS=" /afs /media /net /tmp ..........." 排除检索的路径,即列出的路径下的文件和子文件夹均跳过不进行检索。

实例:

建立数据库并输出到/tmp/test 目录里:updatedb -o /tmp/test test.db



补充:

mlocate是GNU locate的一个变种。相比原始的locate,它具有一个很好优点:

每次更新数据库时并不需要重新读取全部目录的内容。mlocate 在数据库中保存了时间戳信息,无需重新读取,就能判断目录内容是否改变。所以更新的速度更快对硬盘的占用也更少。这是 mlocate 特有的功能。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息