MacOS的spotlight虽然很方便,但是开发者工作的拌脚石.在开发调试时,spotlight突然疯狂工作,CPU和磁盘I/O占满,风扇狂转,电脑烫手,触摸失灵,IDE卡顿,影响正常的工作,为了让系统火力全开,有时需要关闭掉这种spotlight.

2023-08-28T10:39:43.png

如上图,mds,mds_stores,mdwork_sha 都是spotlight的索引程序.

关闭和启用spotlight服务

关闭所有:

sudo mdutil -a -i off

启用所有:

sudo mdutil -a -i on

重建索引

禁用虽然爽,但finder中的搜索功能就失去作用. 有时需要临时搜索功能时就比较麻烦了,可以在电脑闲时建立索引.然后再关闭掉mdutil. 等需要时再临时启用.
一般我们用到搜索功能时往往是陈旧的文件,新文件我们最安排好目录文件而不是依赖全局搜索功能.

启用和禁用某个磁盘索引

只能启用和禁用某个磁盘,比如移动硬盘.
比如文档我只存放在系统盘,其他文件放在数据盘.平时只启用系统盘.mdutil -i volume

启用: sudo mdutil -i on /Volumes/Data

禁用: sudo mdutil -i off /Volumes/Data

查看索引状态

sudo mdutil -s 查看磁盘是否索引
索引状态可以是以下几种:

  • Indexing enabled.:索引已启用。
  • Indexing disabled.:索引已禁用。
  • Indexing and searching disabled.:索引和搜索都已禁用。

索引库目录磁盘根目录下的.Spotlight-V100:

2023-08-28T12:27:24.png

系统盘在/private/var/db/Spotlight-V100/BootVolume
索引库大小:

➜  /  sudo du -kh -d 1 /private/var/db/Spotlight-V100/BootVolume
100M    /private/var/db/Spotlight-V100/BootVolume/Store-V2
100M    /private/var/db/Spotlight-V100/BootVolume

删除索引: sudo mdutil -X /
强制开始索引:sudo mdutil -E /

在命令行在使用spotlight

使用mdfind命令

mdfind -name "xxx"

某个目录:

mdfind -onlyin 目录 "名字"

精确查找

如果只是查找某个位置的文件,而不是文件里面的内容.我们可以使用遍历方式和IDE索引某个项目方式.

使用 find,grep 代替.

find ./ -name "*文件名"

原作者:阿金
本文地址:https://hi-arkin.com/archives/spotlight.html

标签: spotlight

(本篇完)

评论