- locate
locate 与 find 不同: find 是去硬盘找,locate 只在 /var/lib/slocate 资料库中找。
locate 的速度比 find 快,它并不是真的查找,而是查数据库,一般文件数据库在 /var/lib/slocate/slocate.db 中,所以 locate 的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库 ,命令为:
updatedb
般情况我们只需要输入 locate your_file_name 即可查找指定文件。
- find
Linux find 命令用来在指定目录下查找文件。
将当前目录及其子目录下所有文件后缀为 .c 的文件列出来:
# find . -name "*.c"
执行updatedb 和locate命令,提示 -bash: updatedb: 未找到命令
原因:
在linux中locate查找命名依赖updatedb的协助,
updatedb命令需要使用mlocate包。
解决方法:
1.用yum命令安装下mlocate包即可
mlocate是新型的locate,updatedb速度更快。
yum -y install mlocate
[root@bigdata114 ~]# yum -y install mlocate
2.先用命令 updatedb 形成数据库,缓存起来,再用 locate 快速查找
[root@bigdata114 ~]# updatedb
[root@bigdata114 ~]# locate sshd_config
ref:https://www.runoob.com/linux/linux-comm-find.html