命令介绍
命令:locate 用于查找符合条件的文档
用法:locate [OPTION]… [PATTERN]… locate 选项
命令选项
[root@fp-22 ~]# locate --help
-A, --all # 只打印与所有模式匹配的条目
-b, --basename # 只匹配路径名的基本名称
-c, --count # 统计匹配到的个数
-d, --database DBPATH # 配置locate指令使用的数据库
-h, --help # 帮助文档
-i, --ignore-case # 匹配时忽略大小写
-V, --version # 版本信息
-w, --wholename # 匹配整个路径名(默认参数)
命令实例
# 匹配整个路径名(默认参数)
[root@fp-21 ~]# locate AAA
/opt/test/AAA
/usr/share/doc/postfix-2.10.1/README_FILES/AAAREADME
# 统计匹配到的个数
[root@fp-21 ~]# locate -c AAA
2
# 匹配时忽略大小写
[root@fp-21 ~]# locate -i AAA
……
/opt/test/AAA
/opt/test/aaa
注:centos 7 默认没有安装该命令
locate命令其实是“ find -name ”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。
[root@fp-22 ~]# yum -y install mlocate
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.nju.edu.cn
* extras: mirrors.nju.edu.cn
* updates: mirrors.aliyun.com
……
Installed:
mlocate.x86_64 0:0.26-8.el7
Complete!
Linux 系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用 locate 之前,先使用 updatedb 命令,手动更新数据库。
[root@fp-22 ~]# updatedb
运行下面命令,才可以使用此命令
[root@fp-22 ~]# locate inittab
/etc/inittab
/usr/share/augeas/lenses/dist/inittab.aug
/usr/share/vim/vim74/syntax/inittab.vim