网站搜索

如何在 Linux 中安装“locate 命令”来查找文件


locate 是一个命令行实用程序,用于在 Linux 中按名称查找文件,就像 find 命令一样。然而,与同类产品相比,它的工作效率更高;它使用由 updatedb 程序填充的一个或多个数据库,并将至少匹配一种模式(用户提供)的文件名打印到标准输出。

Locate 软件包由GNU findutilsmlocate 软件包提供。已知这些包提供相同的程序实现。在大多数 CentOS/RHEL 系统上,都预装了 findutils,但是,如果您尝试运行locate 命令,则可能会遇到错误:

-bash: locate: command not found

在本文中,我们将向您展示如何安装 mlocate 软件包,该软件包提供 locateupdatedb 命令来在 Linux 系统中查找文件。

下面是一个示例输出,显示了上述错误并查询 findutils 包。

locate bash_completion.sh
rpm -qa | grep findutils

要安装 mlocate,请根据您的 Linux 发行版使用 YUM 或 APT 软件包管理器,如下所示。

sudo yum install mlocate    [On CentOS/RHEL]
sudo apt install mlocate    [On Debian/Ubuntu]     

安装mlocate后,您需要使用sudo命令以root用户身份更新updatedb,这是locate命令使用的,否则您将得到一个错误。默认数据库存储位置为/var/lib/mlocate/mlocate.db

sudo updatedb

更新数据库后,现在尝试运行 locate 命令,这次应该可以工作。

locate bash_completion.sh

要根据您输入的模式查找精确匹配,请使用此 -b 选项和 \ 通配选项,如以下语法所示。

locate -b '\bash_completion.sh'

注意:您可以使用LOCATE_PATH环境变量设置额外数据库的路径,这些数据库在默认数据库或列出的任何数据库之后读取在命令行上使用 -database 标志。

就这样!在本指南中,我们向您展示了如何在 Linux 系统上安装 mlocate 软件包,该软件包提供 locateupdatedb 命令。通过下面的反馈表与我们分享您的观点。