日期:2014-05-16  浏览次数:20706 次

【每天一个Linux命令】14. Linux中locate命令的用法
命令用途

locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。
其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。

所以你要知道:
1. locate的速度比find快,因为它并不是真的查找文件,而是查数据库
2. locate的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护
3. 升级数据库命令:locate -- u

命令用法
#查看locate版本信息-V

bixiaopeng@bixiaopeng-To-be-filled-by-O-E-M:~$ locate -V
mlocate 0.25
Copyright (C) 2007 Red Hat, Inc. 保留所有权利。
本软件在 GPL v.2 下发布。

本程序不提供任何担保,在法法律允许的范围内予以排除。

#查看locate帮助信息

bixiaopeng@bixiaopeng-To-be-filled-by-O-E-M:~$ locate -h
用法: locate [OPTION]... [PATTERN]...
在mlocate数据库中搜索条目.

-b, --basename 匹配唯一的路径名称的基本文件名
-c, --count 只显示找到条目的号码
-d, --database DBPATH 用 DBPATH 替代默认的数据库(/var/lib/mlocate/mlocate.db)
-e, --existing 只显示当前存在的文件条目
-L, --follow 当文件存在时跟随蔓延的符号链接 (默认)
-h, --help 显示本帮助
-i, --ignore-case 匹配模式时忽略大小写区别
-l, --limit, -n LIMIT 限制为 LIMIT项目的输出 (或 计数) 
-m, --mmap 忽略向后兼容性
-P, --nofollow, -H 当检查文件时不跟随蔓延的符号
链接
-0, --null 输出时以 NUL 分隔项目
-S, --statistics 不搜索项目,显示有关每个已用数据库的统计信息
-q, --quiet 不报告关于读取数据库的错误消息
-r, --regexp REGEXP 搜索基本正则表达式 REGEXP 来代替模式
--regex 模式是扩展正则表达式
-s, --stdio 忽略向后兼容性
-V, --version 显示版本信息
-w, --wholename 匹配完整路径名 (默认)

将 bug 报告给 mitr@redhat.com.

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

bixiaopeng@bixiaopeng-To-be-filled-by-O-E-M:~$ locate /etc/sh
/etc/shadow
/etc/shadow-
/etc/shells