linux----locate命令

功能说明:查找文件。

语  法:locate [-d <数据库文件>][–help][–version][范本样式…]

补充说明

   1. locate指令用于查找符合条件的文件,它会去保存文件与目录名称的数据库内,查找合乎范本样式
条件的文件或目录。
   2.你会发现使用 locate 来寻找数据的时候特别的快, 这是因为 locate 寻找的数据是由『已创建
的数据库 /var/lib/mlocate/』 里面的数据所搜寻到的,所以不用直接在去硬盘当中存取数据,显得非
常快速。
   3.使用locate有一定的限制:因为它是利用数据库进行搜索,而数据库的创建默认是在每天运行一次
 (每个 distribution 都不同,CentOS 5.x 是每天升级数据库一次!)。可以由修改crontab來更新
設定值(etc/crontab),所以当你新创建起来的文件, 却还在数据库更新之前搜寻该文件,那么
 locate 会告诉你『找不到!』, 所以使用locate之前,最好更新一下数据库!
   4.手动更新数据库:
直接输入命令:updatedb, updatedb 命令会去读取 /etc/updatedb.conf 这个配置档的配置,然后
再去硬盘里面进行搜寻档名的动作, 最后就更新整个数据库文件! 
 升级数据库命令:locate -- u

参  数:

 -d<数据库文件>或--database=<数据库文件>  设置locate指令使用的数据库。locate指令预设的数
据库位于/var/lib/mlocate目录里,文件名为mlocate.db,您可使用这个参数另行指定。 
 --help  在线帮助。 
 -1    如果是1,则启动安全模式,在安全模式下,使用者不会看到许可权无法看到的档案,这会使速
度减慢,因为locate必须到实际的档案系统中取得档案的许可权资料
 -f    将特定的档案系统排除在外,例如我们没有道理要把proc档案系统的档案放到资料库中
 -c   --count 只显示找到条目的号码(我感觉是文件计数) 
 -e   --existing 只显示当前存在的文件条目 
 -q   安静模式,不会显示任何错误信息
 -n   至多显示,n个输出
 -r   使用正规运算式,做寻找的条件
 -o   指定资料库存的名称,在这个资料库内部进行查找
 -d   指定资料库的路径,在这个资料库内部进行查找
 -0, --null 输出时以 NUL 分隔项目  
  -S, --statistics 不搜索项目,显示有关每个已用数据库的统计信息  
  -q, --quiet 不报告关于读取数据库的错误消息    
  -s, --stdio 忽略向后兼容性  
  -V, --version 显示版本信息  
  -w, --wholename 匹配完整路径名 (默认)  

这里写图片描述

updatedb:根据 /etc/updatedb.conf 的配置去搜寻系统硬盘内的档名,并升级 /var/lib/mlocate 内的
数据库文件;
locate:依据 /var/lib/mlocate 内的数据库记载,找出使用者输入的关键字档名。

实例:

查找etc目录下所有以sh开头的文件:

这里写图片描述

locate -c /etc/sh:
这里写图片描述

这里写图片描述

这里写图片描述

由这三个例子我想到:locate的查找应该是将给定文件名作为子集进行查找,只要该文件名是别的文件名
的子集<当然必须将给定的文件名作为一个整体>,那么locate也会返回别的文件名位置,-c参数也不会管
是否是目标文件的位置,只根据返回的文件名位置的个数进行++;
下面的例子也论证了一下:

locate -e hh
这里写图片描述

locate -S:
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值