Mac OS X的Spotlight綜述

來源:互聯網
上載者:User
文章目錄
  • 其它方式:
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 sudo rm -rf
        sudo mdutil -E /
    6: 再有就是詳細閱讀後面的解讀,自己嘗試各個方式。

停止它建立索引:

        雖然它很好用也有很多人喜歡它,你依然可能出於某種想法希望停止它,無論是臨時的還是永久的。比如有的嫌它太佔用資源,導致系統速度下降;有的說它崩潰,還不如沒有。還有一種情況,可能你真的希望臨時禁止它,或者禁止部分;還有的時候Spotlight可能產生安全隱患,一個不希望被其它使用者搜尋的,卻可以被搜尋,雖然可能不能存取,但是也是不安全(多數情況可能是使用習慣不好造成的)。總之,我們希望使用者自己控制它的開啟,部分開啟,或者完全禁止。

命令列:
  1. hostconfig
    如果你啟動並執行是Mac OS X 10.5雪豹以前的系統,那麼有一種方法可以禁止它。就是編輯/etc/hostconfig裡面,修改SPOTLIGHT=-No-.
    重新開啟也簡單,改成預設的-YES-,重新啟動系統之後就可以。不過這個方法需要你有管理員權限。
  2. 使用GUI
    在System Preferences裡的Spotlight,在Privacy標籤中,把原生硬碟符,拖到列表中,系統提示就確認,之後,Spotlight就不管用了。

    著作權資訊
    : 本著開放交流的原則歡迎轉載,除非明確聲明"謝絕轉載"等字樣.



    所有文章/圖片/代碼(除轉載和翻譯),著作權均屬文章作者


    .
    轉載請遵守下面規則:
     1)保持文章的完整性; 2)不得以盈利為目的; 3)完整標註文章作者[Tony Liu@中國線上教育
    ]和文章中標註的所有著作權資訊。
    其它事宜,如:需要商業用途或以盈利為目的的、或者部分轉載的等等,請與本作者聯絡: TonyLiu2CA@yahoo.com



    如果禁止了當前的系統硬碟,Spotlight和Finder中都無法使用搜尋功能了,在搜尋欄中無法輸入。
    當然可以禁止尋找特定的目錄,同樣的方法,拖動到列表裡就好。一旦一個目錄或者磁碟被拖放在裡邊,Spolight會立刻停止對他建立索引,而且也無法再從Finder找到裡面的檔案,雖然已經儲存的索引還依然存在於系統中。
    一旦一個目錄被添加到Privacy裡面,在搜尋裡面就不會出現在搜尋結果中。
    在以前的系統裡可能會出現問題,比如Spotlight正在建立索引的時候,它可能產生一個mds-crash-state的檔案,這樣即使你把它從Privacy裡面去除,依然無法對他重建立立索引。解決的辦法是,或者卸載這個磁碟後再安裝上,或者重新啟動系統,或者刪除這個檔案(.Spotlight-V100目錄中),或者運行重新索引命令: sudo mdutil -E /path_to_volume
    要想開啟,就把它從列表中刪除,刪除後,Spotlight會自動更新,這個速度根據你的系統和檔案多少等,可能會持續數分鐘,或者更長。

  3. sudo mdutil -i off /path_to_volume
    這個命令可以應用於一個磁碟(分區),不能應用於一個目錄。而這個被禁止的磁碟不會出現在Spotlight的Privacy列表裡面。
    如果是sudo mdutil -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中依然可以搜尋檔案。

其它命令

    sudo mdutil -E /
    重建立立系統磁碟的索引。如果在GUI中Pravicy裡面被禁止了,那麼這條命令不起作用。

    sudo launchctl unload /System/Library/LaunchDaemons/com.apple.metadata.mds.plist
    停止mds服務。下次系統重新啟動後,mds服務會重新啟動。

    sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist
    停止mds服務。下次系統重新啟動後,mds服務都不會重新啟動。

    sudo launchctl load /System/Library/LaunchDaemons/com.apple.metadata.mds.plist
    停止之後,如果需要立刻啟動mds服務,運行這個命令。

 

Under the Hood:

    下面的內容千萬比出於好奇嘗試,只有在你真正瞭解下面所說的內容之後再使用,否則後果自負。


    Spotlight的索引建立在,各個磁碟的目錄下面的.Spotlight隱藏目錄中。

    在系統偏好的Spotlight的Privacy中的列表內容,存放在叫做Exclusions.plist的檔案中。
    而搜尋結果的順序選項,則在目前使用者的的個人資料夾中的com.apple.spotlight.plist檔案中定義。

    對於希望不使用GUI方式操作Privacy的使用者,就需要使用命令列了,下面就是一個例子。
# Start
defaults delete /.Spotlight-V100/Exclusions
defaults write /.Spotlight-V100/Exclusions  Exclusions -array
launchctl unload /System/Library/LaunchDaemons/com.apple.metadata.mds.plist
launchctl load /System/Library/LaunchDaemons/com.apple.metadata.mds.plist
# End

    還有一個徹底的方式:
# Start
    sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist
    mkdir /System/Library/LaunchAgnets.backup
    sudo mv /System/Library/LaunchAgnets/com.apple.metadata_mdwrite /System/Library/LaunchAgnets
    cd /System/Library/Frameworks/CoreServices.framework/Frameworks/Metadata.framework/Support/
    tar -cvf mdworkstuff.tar ./ #(saves all md* to a tarball in case you ever want it back)
    then :
    rm mdworker
    rm mdworker32
    rm mds
    rm mdwrite
# End

 

 

Tony Liu in Calgary

2011, 03, 03

-18 Windchill -35

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.