Linux中使用Locate命令快速查找文件Linux中使用Locate命令快速查找文件Linux中使用Locate命令快速查找文件Linux中使用Locate命令快速查找文件
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

Linux中使用Locate命令快速查找文件

发表 admin at 2025年2月28日
类别
  • 未分类
标签

locate 命令允许您对文件执行超快速搜索。在本教程中,您将了解locate 命令的工作原理以及如何使用它。

顾名思义,Linux中的locate命令用于定位(搜索)文件。它具有以下语法:

locate [options] filename

虽然使用locate命令非常简单,但它带有很多如果和但是。首先,如果没有找到文件,并不一定意味着该文件在系统上不存在。

现在不要感到困惑。我将解释locate命令的工作原理以及如何使用它来查找文件。

在Linux中使用locate命令

locate 命令作用于索引,即文件位置的数据库。当您使用该命令时,它引用该索引而不是搜索整个文件系统。这就是为什么locate 在Linux 中查找文件速度非常快的原因。

一些 Linux 发行版会定期自动索引整个文件系统。您还可以手动构建此索引(我将在本文后面向您展示)。

使用locate命令非常简单。您只需指定文件名:

locate filename

结果将显示找到您指定的文件的所有位置。

abhishek@linux:~$ locate desktop.iso
/home/abhishek/desktop.iso

最好的部分是您不需要在某个目录中即可找到该文件。请记住,locate 命令不会搜索文件系统,而是搜索索引。这就是为什么您在查找文件时不需要指定路径或目录。

您还可以使用 -i 选项执行不区分大小写的搜索:

abhishek@linux:~$ locate -i desktop.iso
/home/abhishek/desktop.iso
/home/abhishek/Downloads/Desktop.iso

请记住,结果可能会显示名称中包含搜索词的所有文件。

abhishek@linux:~$ locate -i desktop
/home/abhishek/eoan-desktop-amd64.iso
/home/abhishek/Bionic-Desktop-amd64.iso
/home/abhishek/desktop.iso
/home/abhishek/Downloads/Desktop.iso

您还可以将正则表达式与locate一起使用:

locate -r regex_expression

使用updatedb为locate命令创建自己的索引

这仅供参考,我认为您不需要使用它。

您可以像这样手动重建整个系统的数据库:

sudo updatedb

如果要创建当前目录(及其子目录)的索引,可以使用updatedb命令,如下所示:

updatedb -l0 -U my_directory -o index_file

创建此索引文件后,您可以要求locate命令显式使用此索引:

locate -d index_file file_name

定位比查找命令更好吗?

如果你想在变化不大的目录结构中搜索文件,locate命令是一个不错的选择。它也超级快。

但 find 命令为您提供了很多选项,尤其是执行复杂的搜索选项。

这两个命令都有其用法。在我看来,如果您感到懒惰并想要快速获得结果,请使用locate。如果结果不符合您的要求,请切换到 find 命令。

你怎么认为?

©2015-2025 Norria support@norria.com