[一天几个linux命令] locate
2017-06-03 09:47
387 查看
简介
locate - 以文件名寻找相应的文件语法
locate [OPTION]… PATTERN…描述
locate 从updatedb事先准备好的一个或多个数据库中读取并匹配至少一个符合PATTERN的文件名到标准输出。一个文件名占一行如果
--regex没有被指定,PATTERN可以包含通配符字符,如果PATTERN没有包含通配符,那么locate表现的像
*PATTERN*一样
默认情况下,locate不检查在数据库中找到的文件是否还存在。locate不能报告文件在创建之后相应数据库的更新次数。
选项
-A, –all 打印符合所有PATTERN而不是符合一个PATTERN-b, –basenae 匹配基本文件名
-c, –count 只显示找到的条目的号码
-d, –database DEPATH 用DEPATH替代默认的数据库(/var/lib/mlocate/mlocate.db)
-e,–existing 只显示当前存在的文件条目
-L, –follow 当文件存在时跟随蔓延的符号链接(默认)
-h, –help 显示帮助文件并退出
-i, –gonore-case 忽略大小写
-l, –limit, -n LIMIT 限制至多输出LIMIT个文件
-m, -mmap 忽略向后兼容性
-0, –null 输出时以NUL分隔项目
-S –statistics 不搜索项目,显示有前每个已用数据库的统计信息
-q, –quiet 不报告关于读取数据库的错误消息
-r, –regexp REGEXP 搜索基本正则表达式REGEXP来代替模式
–regex模式是扩展正则表达式
-s, –stdio 忽略向后兼容性
-V, –version 显示版本信息
-w, –wholename 匹配完整路径名(默认)
鸟哥的总结
locate来寻找数据是由已创建的数据库/var/lib/mlocate里面的数据所查找到的,所以不用直接在去硬盘当中访问数据,当然是很快速因为它是经由数据库来查找的,而数据库的创建默认是每天执行一次(每个distribution不同)所以当欠新建文件后查找该文件,那么locate会告诉你“找不到”,因为必须要更新数据库
那能否手动更新数据库吗?当然可以,更新locate数据库的方法非常简单,直接输入“updatedb”就可以了!updatedb命令会去读取/etc/updatedb.conf这个配置文件的设置,然后再去硬盘里面进行查找文件名的操作,最后就更新事个数据库文件啰!因为updatedb会去查找硬盘,所以当你执行updatedb时,可能会等待数分钟的时间。
update:根据/etc/updatedb.conf的设置去查找系统硬盘内的文件名,并更新/var/lib/mlocate内的数据库文件
locate:依据/var/lib/mlocate内的数据库记载,找出用户输入的关键字文件名。
参考文献
《鸟哥的私房菜-基础学习篇》《linux命令大全》
《centos手册》
相关文章推荐
- [一天几个linux命令] pwd--最软的柿子
- [一天几个linux命令] 用户与用户组
- [一天几个linux命令] tail
- [一天几个linux命令] 编写bash脚本之接收参数
- [一天几个linux命令] CPU的架构
- [一天几个linux命令] linux shell数据重定向
- [一天几个linux命令] mv
- [一天几个linux命令] lsattr
- [一天几个linux命令] tac
- [一天几个linux命令] hz
- [一天几个linux命令] 目录与路径
- [一天几个linux命令] cp
- [一天几个linux命令] 改变权限:chmod
- [一天几个linux命令] whereis
- [一天几个linux命令] 开山篇
- [一天几个linux命令] rmdir mkdir
- [一天几个linux命令] 文件种类与扩展名
- [一天几个linux命令] umask
- [一天几个linux命令] 其他单元的设备
- [一天几个linux命令] 计算机硬件的五大单元