你知道怎么在Linux上安装软件吗?教你如何在Linux系统上安装软件 | Linux安装软件 | Linux教程
目录:
在Linux上工作时,最常见的操作之一是搜索文件和目录。 在Linux系统上,有几个命令使您可以使用
find
和
locate
搜索最常用的文件。
locate
命令是通过文件和目录的名称搜索文件的最快,最简单的方法。
在本教程中,我们将说明如何使用
locate
命令。
安装
locate
(找不到locate命令)
根据发行版和系统的配置方式,定位包可能会或可能不会预装在Linux系统上。
要检查系统上是否安装了
locate
实用程序,请打开终端,输入
locate
,然后按
Enter
。 如果已安装该软件包,则系统将显示
locate: no pattern to search for specified
,否则您将看到诸如
locate command not found
。
如果未安装
locate
则可以使用发行版的软件包管理器轻松安装它。
在Ubuntu和Debian上安装
locate
sudo apt update
sudo apt install mlocate
在CentOS和Fedora上安装
locate
如何
locate
工作
locate
命令通过
updatedb
命令生成的数据库文件搜索给定的模式。 找到的结果显示在屏幕上,每行显示一个。
在安装mlocate软件包期间,将创建一个cron作业,该作业每24小时运行一次
updatedb
命令。 这样可以确保数据库得到定期更新。 有关cron作业的更多信息,请检查
/etc/cron.daily/mlocate
文件。
可以通过以root或具有sudo特权的用户身份运行
updatedb
命令来手动更新数据库:
sudo updatedb
更新过程将花费一些时间,具体取决于文件和目录的数量以及系统的速度。
数据库更新后创建的文件将不会显示在查找结果中。
与搜索文件系统的功能更强大的
find
命令相比,
locate
运行速度更快,但缺少许多功能,并且只能按文件名进行搜索。
如何使用
locate
命令
locate
命令的语法如下:
locate PATTERN…
以最基本的形式,当不带任何选项使用时,
locate
命令将打印与搜索模式匹配且用户具有读取权限的所有文件和目录的绝对路径。
例如,要搜索名为
.bashrc
的文件,请输入:
locate.bashrc
输出中将包含名称中所有包含字符串
.bashrc
文件的名称:
/etc/bash.bashrc /etc/skel/.bashrc /home/linuxize/.bashrc /usr/share/base-files/dot.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc
/root/.bashrc
文件将不会显示,因为我们以对
/root
目录没有访问权限的普通用户身份运行了该命令。
如果结果列表很长,为了提高可读性,可以将输出传递给
less
命令:
locate.bashrc | less
locate
命令还接受包含通配符(例如通配符
*
在内的模式。 当模式中不包含浮点字符时,该命令将搜索
*PATTERN*
,这就是为什么在前面的示例中,显示了所有名称中包含搜索模式的文件的原因。
通配符是用于表示零个,一个或多个字符的符号。 例如,要搜索系统上的所有
.md
文件,您可以使用:
locate *.md
要限制搜索结果,请使用
-n
选项,后跟要显示的结果数。 例如,以下命令将搜索所有
.py
文件并仅显示10个结果:
locate -n 10 *.py
默认情况下,
locate
执行区分大小写的搜索。
-i
(
--ignore-case
ignore
--ignore-case
)选项电话
locate
为忽略大小写并运行不区分大小写的搜索。
locate -i readme.md
/home/linuxize/p1/readme.md /home/linuxize/p2/README.md /home/linuxize/p3/ReadMe.md
要显示所有匹配条目的计数,请使用
-c
(--
--count
)选项。 以下命令将返回名称中包含
.bashrc
的所有文件的数目:
locate -c.bashrc
6
默认情况下,
locate
不会检查找到的文件在文件系统上是否仍然存在。 如果您在最新数据库更新后删除了文件,并且该文件与搜索模式匹配,则它将包含在搜索结果中。
要仅显示在
locate
存在的文件名,请使用
-e
(--
--existing
)选项。 例如,以下代码将仅返回现有的
.json
文件:
locate -e *.json
locate --regex -i "(.mp4|\.avi)"
结论
locate
命令在文件系统中搜索名称与给定模式匹配的文件和目录。 该命令语法易于记忆,并且结果几乎立即显示出来。
有关
locate
命令类型的所有可用选项的更多信息,请在您的终端中使用
man locate
。







