Linux 中的 locate 命令
https://onitroad.com 更多教程

构建定位数据库

在一个晚上还没有运行的新安装的系统上,我们需要以 root 身份登录并运行以下命令来创建数据库:

# /etc/cron.daily/mlocate.cron

定位包

为了使用 locate 命令,必须安装正确的 RPM 包。
要查找提供 locate 命令的包,请使用以下命令:

# yum whatprovides locate
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.lga7.us.voxel.net
 * epel: mirror.cogentco.com
 * extras: mirror.genesisadaptive.com
 * nux-dextop: li.nux.ro
 * updates: mirrors.gigenet.com
epel/x86_64/filelists_db                        | 9.9 MB  00:00:00     
mlocate-0.26-6.el7.x86_64 : An utility for finding files by name
Repo        : base
Matched from:
Filename    : /usr/bin/locate

如上图 mlocate 包提供了 locate 命令。

locate命令

locate 在系统资源消耗方面被认为是低影响的,因为它不会实时搜索文件系统。
相反,通过在空闲时间(通常在晚上)更新的数据库进行定位搜索。
这种方法提供了非常快速的搜索,但结果可能不会反映最近添加或者删除的文件。

locate 命令的基本语法是:

# locate [options] search_string

以下示例显示如何使用 locate 按文件名查找特定文件:

$ locate file1
/var/tmp/file1.txt

locate 命令有多种实现方式。
所有这些都提供类似的功能,但实现了不同的功能。

locate :这是当前由 GNU 基金会维护的原始 locate。
locate 命令包含在 GNU 基金会提供的 mlocate 包中。

slocate : Secure locate (slocate) 是安全的,因为它将文件的权限存储在其数据库中,因此不会为无权查看文件的用户定位文件。

日期:2020-09-17 00:14:28 来源:oir作者:oir