Linux命令之locate
locate [选项] [pattern]
在mlocate数据库中搜索条目。配合数据库缓存快速查看文件相关位置。
locate命令和find -name功能差不多,但是比find搜索要快。因为find命令查找的是具体目录文件,而locate搜索的是一个数据库/var/lib/mlocate/mlocate.db,这个数据库中存有本地所有的文件信息,该数据库是Linux自动创建并每天自动更新维护。相关的配置信息在/etx/updatedb.conf,定时任务信息在/etc/cron.daily/mlocate。
(1).常用选项
1 2 3 4 5 6 | -d,--database DBPATH 使用DBPATH代替默认数据库(/ var /lib/mlocate/mlocate.db) -h,--help 帮助 -i,--ignore- case 匹配pattern时忽略大小写 -r,--regexp REGEXP 搜索基本正则表达式REGEXP代替pattern --regex pattern是扩展正则表达式 -V,--version 版本信息 |
(2).实例
查找名字里带有updatedb的文件(Linux一切皆文件),如果目录匹配则会显示所有子文件
1 2 3 4 5 6 7 8 | [xf@xuexi ~]$ locate updatedb /etc/updatedb.conf /usr/bin/updatedb /usr/share/augeas/lenses/dist/updatedb.aug /usr/share/man/man5/updatedb.conf.5.gz /usr/share/man/man8/updatedb.8.gz /usr/share/vim/vim74/ftplugin/updatedb.vim /usr/share/vim/vim74/syntax/updatedb.vim |
由于默认-w选项查找完整路径,还可以选择部分路径查找
1 2 3 4 | [xf@xuexi ~]$ locate /etc/updatedb /etc/updatedb.conf [xf@xuexi ~]$ locate /syntax/update /usr/share/vim/vim74/syntax/updatedb.vim |
为避免locate找不到新创建的文件,可以使用updatedb立刻更新数据库(需要root用户)
1 2 3 4 5 | [root@xuexi ~]# touch OnePiece [root@xuexi ~]# locate OnePiece [root@xuexi ~]# updatedb [root@xuexi ~]# locate OnePiece /root/OnePiece |
不区分关键字的大小写
1 2 3 4 5 6 | [root@xuexi ~]# ls anaconda-ks.cfg initial-setup-ks.cfg OnePiece 模板 图片 下载 桌面 core.3160 onepiece 公共 视频 文档 音乐 [root@xuexi ~]# locate -i onepiece /root/OnePiece /root/onepiece |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性