Linux locate命令用于查找文档,查询速度比find快很多,因为它并不是搜索文件目录,而是在数据库/var/lib/locatedb中查询。
数据库locatedb中含有本地所有文件信息,由系统自动创建,默认每天自动更新一次,因此,如果要查找当天文件的话,在使用locate命令前必须执行updatedb命令手动更新数据库。
安装
yum -y install mlocate # mlocate的数据库路径 /var/lib/mlocate/mlocate.db # 更新mlocate数据库 updatedb
语法
locate [-d ][--help][--version][PATTERN]
参数说明
参数 | 说明 |
-0, --null | 在输出上带有NUL的单独条目 |
-1 | 启动安全模式,即过滤权限以外的文档 |
-A, --all | 只显示匹配所有模式的条目 |
-b, --basename | 仅匹配路径名的基本名称 |
-c, --count | 只输出找到的数量 |
-d, --database <DBPATH> | 指定<DBPATH>替代默认的/var/lib/mlocate/mlocate.db数据库 |
-e, --existing | 仅打印当前现有文件的条目 |
-h, --help | 显示帮助 |
-i, --ignore-case | 忽略大小写 |
-l, --limit, -n <LIMIT> | 将输出(或计数)限制为LIMIT个条目 |
-m, --mmap | 忽略向后兼容性 |
-P, --nofollow, -H | 检查文件存在时不要遵循尾随的符号链接 |
-q, --quiet | 安静模式,不会显示任何错误讯息 |
-r, --regexp <REGEXP> | 使用基本正则表达式 |
--regex | 使用扩展正则表达式 |
-S, --statistics | 不搜索条目,打印有关每个数据库的统计信息 |
-s, --stdio | 忽略向后兼容性 |
-o | 指定资料库存的名称 |
-V, --version | 显示版本信息 |
实例
# 查找passwd文件 locate passwd # 搜索etc目录下所有以sh开头的文件 locate /etc/sh # 忽略大小写搜索当前用户目录下所有以r开头的文件 locate -i ~/r
原创文章禁止转载:技术学堂 » Linux文档查找工具locate命令详解