locate 是 Linux 系统中一个用于快速查找文件的命令,它通过预建的数据库(而非实时扫描磁盘)来定位文件,因此速度极快。以下是它的核心用途和特点:
快速文件搜索
updatedb 生成的数据库(通常每天自动更新),直接检索文件名或路径,比 find 命令快得多。nginx.conf 的文件:
bash
locate nginx.conf模糊匹配
*、?等),无需额外参数。.log 结尾的文件:
bash
locate "*.log"限制搜索结果
-n 限制显示数量(例如仅显示前 10 个结果):
bash
locate -n 10 "*.conf"区分大小写
-i 参数:
bash
locate -i "Document"find 命令的区别| 特性 | locate |
find |
|---|---|---|
| 速度 | 极快(依赖预建数据库) | 较慢(实时扫描磁盘) |
| 实时性 | 非实时(依赖数据库更新频率) | 实时 |
| 搜索条件 | 仅文件名/路径 | 支持名称、大小、时间、权限等 |
| 资源占用 | 低 | 高(尤其大目录) |
找不到新创建的文件
bash
sudo updatedb忽略特定目录
/etc/updatedb.conf 文件,排除不需要索引的路径(如临时目录)。数据库位置
/var/lib/mlocate/mlocate.db(不同发行版可能略有差异)。locate 是 Linux 文件检索的“快捷键”,适合已知文件名但不确定路径的场景。如需复杂条件或实时搜索,仍需结合 find 命令。