如何安装“locate 命令”以在 Linux 中查找文件
类似于 find 命令,locate 是一个用于在 Linux 中按名称查找文件的命令行实用程序。但是,与 find 命令相比,locate的工作效率更高;它使用一个或多个由 updatedb 程序填充的数据库,并将与至少一种模式(用户提供)匹配的文件名打印到标准输出。
Locate 包由GNU findutils或mlocate包提供。众所周知,这些包提供了相同的程序实现。在大多数CentOS/RHEL系统上,findutils是预安装的,但是,如果您尝试运行locate 命令,可能会遇到错误:
-bash: locate: command not found
在本文中,我们将向您展示如何安装mlocate包,它提供locate和updatedb命令来在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后,需要以 root 用户身份使用sudo 命令更新locate命令所使用的updatedb,否则会报错。默认的数据库存储位置为/var/lib/mlocate/mlocate.db。
$ sudo updatedb
一旦数据库更新完毕,现在尝试运行locate命令,这次应该可以工作了。
$ locate bash_completion.sh
要根据输入的模式找到完全匹配,请使用此-b
选项和\
通配选项,如以下语法所示。
$ locate -b '\bash_completion.sh'
注意:您可以使用LOCATE_PATH环境变量来设置额外数据库的路径,这些路径在默认数据库或使用命令行上的–database标志列出的任何数据库之后读取。
就这样!在本指南中,我们向您展示了如何在 Linux 系统上安装提供locate和updatedb命令的mlocate包。通过下面的反馈表与我们分享您的观点。