spotlight综述
- 格式:docx
- 大小:123.19 KB
- 文档页数:6
Mac OS X的Spotlight综述
关于Spotlight的简述
Spotlight是苹果OS X系统里的亮点之一,它的快速查找,是Windows等其它系统所难望其项背的。
特具有如下特点:
•它很快,相当快而且聪明。
•它存在好多地方,Finder,System menu, Open和Save对话框, Mail等等。
•它会自动为安装的磁盘建立/更新索引,除了网络和DVD磁盘等.
•它不仅搜索普通文件,还有联系人,email,iTunes里的音乐,iPhoto里的照片,日历中的事件,系统文件等等。
•它不会做的:隐藏文件(.hidden),不可见文件(invisible),在隐藏或者不可见文件夹里的文件等。
•除了对所有用户目录建立索引,还对/Applications,
/Library/PreerencePanes /System/Library/PreerencePanes启作用
•在Finder里面,Command+F来打开一个所有窗口
•可以对各种文件的多种属性进行搜索,比如File lable,甚至是System Files 等等。
•相关的系统进程: mds, mdimport, mdworker.
•即便是安全模式,它也是可以使用的。
•它支持插件,适合的插件用来搜索特定的数据库里的项目。
•随着文件的增多,它占用更多的磁盘空间,不过用户觉察不到。
•其它的选择,Find Any File, EasyFind, Find File等等
基本使用:
•Spotlight:在系统菜单栏中,也就是屏幕的右上角的放大镜按钮,点击它,或者使用快捷键(Command+Sapce),在下拉的Spotlight蓝色搜索栏中输入要查找的特征,它就会在下方列出相关的项目。
我常用的是,输入一个程序的名字,比如是计算器,我只输入Cal,计算器就会称谓第一个备选者,我按Enter回车,就可以启动计算器程序了。
•Finder中:还可以在Finder窗口中的工具栏的最右边,也是搜索栏,输入查找特征,系统也会随时列出相关的项目。
搜索时,文件列表区域的顶端,会出现一个Search的表头,可以方便切换搜索的范围-当前电脑还是启动磁盘,和查找根据-是查找内容相关还是单单文件名相关。
和Spotlight不同的是,你可以进行高级查找,也就是添加/使用各种的搜索条件。
只要点击Search条的最有边的“+”小按钮,下方又出现一条,这里你可以添加一个一个的条件,最左边是条件的类型,最常用的是文件类型,修改时间,创建时间,上次打开时间,后面就是具体条件,随时输入,下方列表随时更新,非常方便。
•
•Save/Open还有在你保存/打开文件的时候,也可以使用上面Finder的搜索方法。
具体操作和上边类似。
•改变搜索结果顺序:进入System Preerences的Spotlight,拖动每一项就可以改变顺序,去除选择的话,这一类的结果就不会出现在搜索结果中。
基本的排错:
在一般的情况下,它工作得相当得文件,但是在升级安装或者是被自己多次修改过的系统中,会出现Spotlight不工作的问题。
解决问题可以遵循下面的步骤来尝试,尝试每一步之后,都需要等待一段时间,可能时数秒,也可能是一两分钟不等,过长的时间等待一般不需要。
1: 重新启动电脑这个总是第一个想到的2: 删除com.apple.spotlight.plist文件这个文件在挡
墙用户个人文件家的~/Library/Preferences文件夹中3: 进入在System Preferences中的Spotligh的Privacy中,把系统磁盘添加到列表中,等候几秒中,然后再从中删除。
一般的情况到此为止,都可以解决了。
4: 杀掉SystemUIServer进程进入在Utilities文件夹中的Activity Monitor中,找到并选择"SystemUIServer",点"Quit Process"。
等一会儿,系统菜单条会重新出现。
5: 命令行sudo find / -iname '.Spotlight-V100' -type d
-maxdepth 3 -print0 | xargs -0 -t -n1 sudorm -rf sudomdutil -E /6: 再有就是详细阅读后面的解读,自己尝试各个方式。
停止它建立索引:
虽然它很好用也有很多人喜欢它,你依然可能出于某种想法希望停止它,无论是临时的还是永久的。
比如有的嫌它太占用资源,导致系统速度下降;有的说它崩溃,还不如没有。
还有一种情况,可能你真的希望临时禁止它,或者禁止部分;还有的时候Spotlight可能产生安全隐患,一个不希望被其它用户搜索的,却可以被搜索,虽然可能不能存取,但是也是不安全(多数情况可能是使
用习惯不好造成的)。
总之,我们希望用户自己控制它的打开,部分打开,或者完全禁止。
命令行:
1. hostconfig如果你运行的是Mac OS X 10.5雪豹以前的系统,那么有一种
方法可以禁止它。
就是编辑/etc/hostconfig里面,修改SPOTLIGHT=-No-.
重新打开也简单,改成默认的-YES-,重新启动系统之后就可以。
不过这个方法需要你有管理员权限。
2. 使用GUI在System Preferences里的Spotlight,在Privacy标签中,把本
机的硬盘符,拖到列表中,系统提示就确认,之后,Spotlight就不管用了。
如果禁止了当前的系统硬盘,Spotlight和Finder中都无法使用搜索功能了,在搜索栏中无法输入。
当然可以禁止查找特定的目录,同样的方法,拖动到列表里就好。
一旦一个目录或者磁盘被拖放在里边,Spolight会立刻停止对他建立索引,而且也无法再从Finder找到里面的文件,虽然已经储存的索引还依然存在于系统中。
一旦一个目录被添加到Privacy里面,在搜索里面就不会出现在搜索结果中。
在以前的系统里可能会出现问题,比如Spotlight正在建立索引的时候,它可能产生一个mds-crash-state的文件,这样即使你把它从Privacy里面去除,依然无法对他重新建立索引。
解决的办法是,或者卸载这个磁盘后再安装上,或者重新启动系统,或者删除这个文件(.Spotlight-V100目录中),或者运行重新索引命令: sudomdutil -E /path_to_volume要想打开,就把它从列表中删除,删除后,Spotlight 会自动更新,这个速度根据你的系统和文件多少等,可能会持续数分钟,或者更长。
3. sudomdutil -i off /path_to_volume这个命令可以应用于一个磁盘(分区),
不能应用于一个目录。
而这个被禁止的磁盘不会出现在Spotlight的Privacy
列表里面。
如果是sudomdutil -i off /也就是对整个启动磁盘禁止索引,运行这个命令的结果:系统不会启动mds来对磁盘进行后台索引,但是在
Finder中依然可以使用Find功能,只不过这个功能就如同Windows里面的
普通搜索类似了,速度慢,因为没有了可以使用的数据索引,和命令行下
的Find命令类似,只不过它不查找程序或者各种包里面的内容。
比较上面
在GUI下的Pravicy的禁止,里面有些差异。
这个功能有的时候可能还是用
得到的,比如你不希望系统随时建立索引,但是同时还要保留在Finder里
面查找文件的功能。
其它方式:
使用第三方软件,比如Onyx/QuickSilver等
命令行和GUI的关系:
在Mac OS X 10.6以前的版本,命令行和System Preferences里的Spotlight
是不太兼容的两个部分。
不过这种情况已经得到改善比如,在Spotlight里
面把一个目录添加到Privacy里面了,命令行依然可以运行-i off或者-i on,但是在雪豹中,已经是不行了,当你使用-i on的时候,它会提示Indexing and searching disabled.在比如,当你把一个目录添加到Privacy里面后,以前
的版本可能不会立刻删除索引数据,而现在的版本会立刻删除。
前面也说了,在命令行禁止索引,在GUI中依然可以搜索文件。
其它命令
sudomdutil -E /重新建立系统磁盘的索引。
如果在GUI中Pravicy里面被禁止了,那么这条命令不起作用。
sudolaunchctl unload /System/Library/LaunchDaemons/com.apple.metadata.mds.plist停止mds服务。
下次系统重新启动后,mds服务会重新启动。
sudolaunchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist停止mds服务。
下次系统重新启动后,mds服务都不会重新启动。
sudolaunchctl load /System/Library/LaunchDaemons/com.apple.metadata.mds.plist停止之后,如果需要立刻启动mds服务,运行这个命令。