locate是一个命令行工具,用于在Linux中按名称查找文件,就像find命令一样 。 但是,与其对应方式相比,效率更高。 它使用由updatedb程序填充的一个或多个数据库,并将与至少一种模式(用户提供)相匹配的文件名打印到标准输出。
定位包由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后 ,需要用sudo命令更新locate命令使用的updatedb ,否则会出错。 默认的数据库存储位置是/var/lib/mlocate/mlocate.db 。
$ sudo updatedb
一旦数据库被更新,现在尝试运行locate命令,这个命令应该在这个时候工作。
$ locate bash_completion.sh
使用定位命令查找文件
要按照您输入的模式查找完全匹配,请按照以下语法使用此-b
选项和\
globbing选项。
$ locate -b '\bash_completion.sh'
注意 :您可以使用LOCATE_PATH环境变量来设置额外数据库的路径,这些数据库是在默认数据库或在命令行上使用-database标志列出的任何数据库之后读取的。
就这样! 在本指南中,我们向您展示了如何安装在Linux系统上提供locate和updatedb命令的mlocate软件包。 通过下面的反馈表与我们分享您的意见。