Mac 下有沒有和 Everything 一樣的快速索引工具?

Everything 是在 win 下的快速索引工具,有個特點是可以在幾秒之內索引硬碟上的現有的所有文件。
善用佳軟介紹:http://xbeta.info/everything-search-tool.htm
異次元介紹:http://www.iplaysoft.com/everything.html
在用 Alfred 和 Spotlight 時發現沒有 Everything 那樣直接和瘋狂的給出匹配的文件。僅僅只問下 Mac 下有木有和 Everything 速度匹配的實時快速索引而已。


首先回答問題:Mac 下沒有和 Everything 一樣的快速索引工具,在Mac上能夠媲美Everything的工具還沒出來。

這是個2012年提的問題,到現在兩年半過去了,還是不斷有人都沒用過Everything就在這裡提出Alfred,Spotlight,Locate,Finder……,這些與Everything的搜索速度比根本不在同一個檔次好嗎。

=====================================================

麻煩各位答主回答問題的時候先理解題意好嗎?
題目是:

Mac 下有沒有和 Everything 一樣的快速索引工具?

難道各位答主不是應該先要了解一下 Everything 是什麼東西,以及其工作原理嗎?題主問這個問題的時候肯定是已經用過了 Windows 下的 Everything 和 Mac 下的 Alfred、Spotlight,並且很明顯,題主想要的是 Mac 下的只匹配文件名的快速索引工具,而不是額外附加的文件內容索引工具。

所以這種回答的答主們:

剛了解了一下,原來 Everything 只能匹配文件名。這個…我看上面的答案都感覺醉了。
……
說實話,匹配文件名只是一種初級需求。

以及:

啥?從網上新拖下來的文件夾沒來得及建索引搜索不到裡面的內容?
你不會用find啊!!!
這搜索尼瑪怎麼就不比windows強了??

@郭小閑@涯子 你們理解了題意沒有?體驗過 Everything 的速度了沒有?還有不要擅自修改題主的需求啊。

嚴格的講,spotlight 其實和 everything 的實現方法差不多,都是從文件系統著手;但其中的差異就是 everything 止步於索引文件名,而 spotlight 則深入到索引文件內容。

@郭小閑 麻煩稍微了解一下 Everything 底層所依賴的技術原理,再來說說是不是與 Spotlight 的實現方法差不多。換言之,假如 Spotlight 也只是索引文件名,它是否能達到 Everything 的速度?

還有這種:

不搜索文件內容??那不是太簡單了,我覺得可以自己寫一個……

我真的很拭目以待, @地鐵風 。

=====================================================

Everything神奇的地方在於:

  • 能夠在極短的時間內獲取到NTFS磁碟上的所有文件;
  • 獲得所有的文件列表之後,能在極短的時間內建立並維護一個索引;
  • 能夠實時監測所有文件的增、刪、改、查,並且迅速更新索引;
  • 能夠在極短的時間內,給出匹配的搜索結果;
  • 界面性能流暢,即使搜索結果列表展現了上萬個文件;
  • 內存佔用小。

試問Mac上有軟體可以做到嗎?

在Everything出來之前,大部分的文件搜索工具都是遍歷目錄逐個文件對比的,根本就沒有索引可言。
後來發現每次這樣全局遍歷實在是太挫了,於是部分軟體開始建立索引,會在初始化的時候先一次性掃描硬碟上的所有文件,維護一個數據表,搜索的時候直接在數據表裡找,避免了遍歷文件的緩慢。但,這裡存在的問題是,建立索引還是需要掃描所有文件,而且必須要不定時地更新索引(重新遍歷一次)。

現在可以說說Everything為什麼可以如此神速:

  • 迅速獲得所有文件列表,得益於Windows對NTFS的支持。NTFS的文件系統上,已經有一個數據表(Master File Table(MFT)),記錄了磁碟上所有文件的文件信息(USN Journal),文件增刪改查都會更新這個信息,然後Windows提供了相關的API,能夠讓開發者調用來訪問這些數據。Everything就是基於這些特性、API獲取所有文件列表,而不是遍歷文件目錄。
  • Everything維護文件索引的技術牛逼。對於一般的搜索軟體,即使能夠在瞬間獲得所有的文件列表,但是讓它搜索一下文件它就傻眼了——因為從大量結果中搜索,一般還是得遍曆數據表,而遍歷幾百萬條數據也是非常耗時的。Everything維護的索引,則是可以在毫秒的級別內給出成千上萬的匹配結果,並且還支持通配符、正則表達式,並且還可以過濾某些目錄,
  • 好了,知道還是有人會不服,說,我也可以在毫秒內匹配出幾百萬個文件啊!好的,但是你能夠把搜索結果展現到列表控制項里並且能夠保證滾動順暢、內存平穩嗎?也許你可以繼續說,當然可以啊,不就是用虛擬列表技術嗎?那麼,好吧,恭喜你幾乎能夠在Windows下實現一個類似Everything的軟體了。

那麼,問題來了,你來Mac下實現一個試試?我保證無論你怎麼優化,怎麼組合,利用各種locate、find、grep、updatedb,都無法達到Everything的搜索速度。


everything 的索引是秒更新,比如 everything 搜索用 vim 打開一個文件,你就能看到 everything 里多一個 swp,關掉以後 swp 又沒有了。

Everything 是基於 NTFS 強大的日誌系統與 API,網上有一個系列的文章教你用類似原理寫一個的,只是仍然沒有 Everything 快,大約也沒有 Listary 快,但總比 Unix/Linux 下那些快。

(從以上兩段你就能看到 Everything 建立索引的技術很厲害。)

至於 Windows 自帶的為什麼慢,因為它是索引文件內容的,不是一個量級的工作。

update:

那麼Mac沒有ntfs是不是就沒辦法寫出這樣的軟體了

不知道,我已經給出了 everything (更新/建立索引)快的原因,如果 Mac 有,也會是基於底層提供的可能,如果想自己開發,朝著這個方向去做就可以了。 Linux 我也用的,updatedb 比 everything 刷新慢。
另外基於文件內容的索引,Spotlight 和 Windows 自帶的我都用過,都不是很滿意,功能太簡陋。現在用的是 FileLocator Lite,以前用過 DocFetcher 也不錯。正則,修改日期過濾,文件位置過濾,Shell Integration 這些該有的都有。

又看了看評論和回答,討論一個軟體而已,為什麼吵到 Windows/OSX 用戶非要把自己用的系統捧上天,把別人的系統踩到地上,你用的系統再牛逼,又不是你開發的。


試過幾乎能找到的所有的mac版的搜索工具,spotlight這種渣工具就不要提了好嗎?基本上和pc下的everything就是雲泥之別——不,簡直就是雲糞之別。
目前只能湊和著用found,差不多也是個渣。
所有的mac搜索工具最大的特點就是,肉眼能看見這個文件,你就是搜索不出來他。
而everything的特點是只要你輸入文件名中任何一點線索,瞬間出現。最恐怖的是一個2T滿硬碟插上去十幾秒後你就能搜索了。。。
對於一個有十幾塊硬碟,一個項目就能有幾十G,而且目前保存的項目和資料超過25T的人來說,沒有everything的mac,就是個渣,準確地說,任何沒有everything的系統都是渣。雖然我現在還用mac這個渣在打字……
這差不多是註冊以來第一次吐槽,實在是看不慣一些mac腦殘粉的傻逼了,動不動就說什麼spotlight這種神器如何如何好,動不動就問別人是真的用過mac os嗎……無語了,作為一個用了快十五年的MACer,我想問問你丫能tmd理智點嗎?
知道某些sb們要來較勁

我只想說兩點
1、去pc下用用everything,再來結論,求你們了,試用一下,再來談問題。

2、非要較勁的歡迎,你說什麼mac下搜索牛逼,可以線下見面來做測試,找tmd10台各種低性能pc xp win7 win8,來對抗10台 mbp,air,垃圾桶,不比別的,就比搜索。把同一文件分別塞入同樣深度目錄,分別塞入系統目錄,分別塞入移動硬碟,搜吧,別BB了。

TNND,第一次發言就這麼長,主要是mac下找了幾年沒個像樣的搜索工具,火正大呢,又看到sb們bb,,,煩死了!!!!!!!!
求推薦 mac下能搜索的工具!!!!!

---------------
補充
founder 不能識別通配符,只能從首字搜起,如123.abc 輸入 "12" 將(也許) 有效,但如輸入 23,或者*.abc則無效。
Alfred略好一點,可以支持通配符如:*.abc 或者*3.abc這樣。just so so。
搜索結果似乎沒有高亮(也許是我不會配置?)
將就著用吧。

-----------------
ps,目前我用的有一個搜索,相對還不錯
Disklens,但是也有個很討厭的問題就是 「他不僅搜索文件名,也搜索文件內容」,這樣搜索的結果簡直令人崩潰(比如我想找一個叫 Design_Proj 的文件夾,結果他搜出了幾百個log文件——僅因為這些log文件中記錄了這個文件夾的名字)配置里還無法關閉對文件內容的搜索…總之不怎麼好用

-------------------
另外,everything的作者曾在15年初回復我說,mac也許會開發(估計脫離了NTFS結構沒什麼好辦法 )


為何不用 mdfind?mdfind 和 Spotlight 用的是同樣的後端,可以看到後台的 mds/mds_stores 進程。區別是 mdfind 可以搜全盤,Spotlight 不給你搜系統目錄。

用法:

  • mdfind A,把 A 當作一種查詢語言,似乎支持很多正則,更支持很多 metadata。
  • mdfind -name A -onlyin B,顧名思義。
  • mdfind ... -live 可以顯示實時更新的列表(命令行)。
  • 更多:man mdfind

缺點:

  • 空間小索引會崩。當然比 Windows 的好多了,那個即使空間沒滿也會崩。
  • 重新建立索引比較慢(但是更新是實時的)。Everything 索引也會經常崩,但是索引起來很快。當然這是支持全文搜索的。

應該可以基於這個東西做很多軟體。


man locate


Everything 和 Spotlight 不是同一類東西。剛了解了一下,原來 Everything 只能匹配文件名。這個…我看上面的答案都感覺醉了。

嚴格的講,spotlight 其實和 everything 的實現方法差不多,都是從文件系統著手;但其中的差異就是 everything 止步於索引文件名,而 spotlight 則深入到索引文件內容。所以兩者的速度不能同日而語。

說實話,匹配文件名只是一種初級需求,因為文件名並不一定能反應文件的實際內容,當然這對於我這樣的強迫症患者不是大問題。但小白們的需求則很簡單直接:找到我要找的東西,不論是文件名還是文件內容。從這個層次來看,spotlight 並沒有沉淪到所謂不堪的程度。

--------------------------------------

更新:剛才看了各位的一些答案。有說 spotlight 就是大糞的。好吧,spotlight 速度確實不如 everything,但也不至於變成大糞。我這個回答的要點,就是要替 spotlight 吐吐氣。雖然可能比不上大家手裡的工具,但還不至於掉到地上變成大糞的程度。

首先,spotlight 並不是僅僅索引文件名,這個軟體索引的是系統上所有文件的元數據。元數據包括文件的屬性以及文件的內容。這就導致 spotlight 索引整個文件系統會非常慢。但也只是第一次慢。等到第一次索引完成,隨後的索引就會非常快了。

其次,spotlight 是一個相當複雜的軟體。在 Unix 類系統上,我從未見過可以像 spotlight 這樣複雜且穩定的軟體。一方面必須匹配千差萬別的文檔及其內容(很多Unix/Linux 上的相似開源應用經常遇到複雜的文檔自己就會崩潰),另一方面還必須提供「酷炫」的圖形前端。這就是導致其運行比較慢的第二個因素。

第三個原因就是 spotlight 並不僅僅停留在匹配內容上。它還可以啟動程序,進行簡單的運算,查字典等簡單功能。即將來到的 El Capitan 版本裡面,spotlight 還會變得更加智能,可以有模糊查詢等。雖然這些功能很酷炫,但肯定會更加拖慢 spotlight 的速度。


所以我的這個答案有點偏離題主的提問,但針對的是其他答案中對 spotlight 的偏見,同時,或者也許能激起題主深入使用 spotlight 的興趣。最後我表達一下自己的個人意見,僅僅匹配文件名是沒有多大前途的。只有匹配內容才有未來。其中的理由顯而易見。


everything是基於win7有個強大文件索引系統,不是everything牛,是windows牛,你先得看Mac有沒有這功能,純粹靠軟體自己來做索引是行不通的


當你們下筆洋洋洒洒打字時,可曾想過,你正回答的,是什麼樣一個問題?

Mac 下有沒有和 Everything 一樣的快速索引工具?

首先,嚴格從字面意義上說,答案必然是沒有。事實上你很難找到多個軟體具有完全一模一樣的功能,更何況是橫跨著不同的 2 個平台。
對於一個 12 年的提問,題主當初的具體使用場景顯然不再可考(個人以為,動機揣測是種很無聊的事情),況且,一個問題提出後,便不再僅屬於題主,每個讀者當然的擁有權利在自己腦海中對題目進行各自的解讀、評判。
而下面的眾多答主們,顯然對此問題有了至少 2 種不同的解讀:
一些答主,將題目解讀成了尋找一個與 Everything 類似的,運行於 Mac OS X系統下的本地搜索工具,從而給出了從 Alfred、Spotlight 到各種自定義腳本等的工具,並介紹了其優勢。如前文所述,對於不同的平台不同的軟體,本就不可能有完全一樣的功能或體驗;既然有不同的功能或體驗,就必然各有優劣;如若指責這些答主,僅講述優勢而未提及劣勢,則屬於典型的求全責備。
另一些答主,則將題目解讀成了 Everything 為什麼比 OS X 下的同類軟體「好」,並對上述的一些答主加以火藥味濃厚的批判一番。
就我個人而言,對第二種情景下的解讀,即披著「有沒有」外衣的「為什麼沒」非常不以為然。事實上我也很難理解這種田雞賽馬式的怒斥競品的精神股東到底是意欲圖何。
(莫非,是想搞個大新聞?)


Easyfind!!! 勝過Alfred和Spotlight,後兩者用的是相同的搜索引擎,所以搜索結果是一樣的。


除了超牛x的搜索外,everything還能讓電腦嗖的一下變身為http和ftp伺服器呀,對於我這種電影在電腦里但想抱著ipad看的人簡直太幸福啦~


mac的搜索工具強烈安利find any file,這個小程序跟Windows的everything一樣好用,搜索文件速度特別快
本來我是剛下好文包然後準備找文的,結果finder的搜索速度爛到家,六萬多篇文,我用finder等了半天都沒結果,於是就去百度了mac上用的搜索工具,然後發現了這個,下下來之後用這個程序兩秒就搜完了,而且不止可以搜文件名字,像最後修改日期什麼的也可以搜,就在p1左邊那個「name」選項欄里就可選擇搜索條件,好像比everything還好用


個人先上個結論,Mac下沒有和 Everything 一樣的搜索工具。原因之前的答主已經說過很多,不再贅述了。
所以,有個笨辦法,也是沒有辦法的辦法,只能說聊勝於無。

  • 首先準備一個 Parallels Desktop,VMware Fusion 也可以。
  • 安裝一個 Windows XP,或者 Windows 7,不用給太高的配置;如果之前裝過虛擬機,直接跳過這步
  • 安裝 Everything

好,接下來就分情況了。1是NAS或者FTP或者Mac自己的文件夾,2是其他Windows計算機內的文件夾。
關於第一點,只能使用最蠢的方法,把那些文件夾統統包涵到Everything的搜索目錄(Everything會建立索引),但這樣做完全喪失Everything的性能,可以說和Mac下一些第三方搜索無異。
關於第二點,其他Windows安裝Everything然後開啟ETP/FTP。然後在Mac每次搜索時,連接主機的ETP/FTP。缺點很明顯:每次都需要連接才能搜索,但好在Everything會記住配置,每次連接只要你輸個密碼就可以了。嫌麻煩可以直接把密碼設成1,每次連接按1回車就能直接接搜索。

這裡主要推崇第二點方案(第一點方案主要是為了綜合所有的搜索操作全部到虛擬機的Everything里進行,屬於比較多此一舉的方法)。因為一般Macbook的硬碟都比較小(我自己的 512G SSD已經只剩90G)。大文件都可以存放到Windows終端;其次,Mac下載工具比較渣,百度雲、迅雷等下載工具,都比較難用,因此下載、大文件存儲,都可以放到這些機器內進行。

還有一種辦法可能理論上可行(因為Everything快速檢索主要基於NTFS),實際我沒有進行過測試,有條件的朋友可以試一下:
如果是NTFS移動硬碟,可以在PD或者VM里記住這塊硬碟只讓虛擬機開啟,然後允許虛擬機調用Mac軟體。這樣就可以在Everything里做到雙擊.xcodeproj 等Mac專屬後綴名可直接打開;即使偶爾必須需要直連Mac,也可以藉助Paragon NTFS等軟體瀏覽(一般現在的新移動硬碟都會內置免費版Paragon NTFS,但就是僅限本型號移動硬碟)。

以上辦法只能說是沒有辦法的辦法。


我用emacs的helm插件下的helm-locate(C-x c l) 和helm-find(C-x c f) ,交互感覺比everything好用,而且locate可以手動調用: sudo updatedb, 刷新locate的索引文件,everything的刷新速度感覺有些慢,剛下載的文件都搜不到,helm-find 加c-u前綴可以指定要搜索的目錄,不過一般都用helm-locate,速度超級快。

用helm進行全文匹配也很好用,默認是helm-do-grep,不過每次要設置搜索的根目錄很麻煩,這是我自己修改的helm-do-grep-lhf (C-c s),emacs啟動之後調用一下lhf-set-project-directory 來設置一下搜索的根目錄就行了,

helm 還有helm-ag和silver seach(ggreer/the_silver_searcher · GitHub)配合,可以代替grep,silver search支持多線程搜索,速度更快
這是我的配置:hyphenlee/emacs.d · GitHub


向大家推薦一個軟體:DEVONsphere Express
這是我在Mac平台上目前找到的最方便的搜索工具,雖然依然比不上win下的everthing

主界面停靠在Menu Bar上,可單獨脫離。

速度:在低配MBA上大概耗時 4 秒左右。

特點:

  • 以自建索引為基礎的快速搜索
  • 支持word、pdf、txt文件內深度搜索
  • 支持黑白名單
  • 支持NTFS
  • 文件關聯度顯示
  • 相似相關網頁搜索
  • 相似相關文件搜索
  • 和DEVON其他產品聯動

缺點:

  • 佔用內存過高(1.6G)→4G內存的MBA表示很難受→整個系統變卡了→搜索效率降低
  • 第一次建立索引耗時過長,4T的文件掃了四天三夜(識別出180K文件數)
  • 和DEVON家其他產品一樣,對中文支持不全面,仍然需要*和~
  • $9.95?

easyfind,非實時,每次搜索要等一兩秒,可選文件名或目錄名或文件內容,將就用吧,剛夠給everything提鞋。


都沒用過easyfind么,很好用啊


卧槽 osx下原來everything真沒有啊 真是哭了 我一直以為這麼nb的軟體是從mac??移植過來的2333。利益相關:正努力擺脫parrallel desktop 的mac新手.


我特么就是想像everything那樣通過文件名查找文件而已,不需要搜索內容,mac怎麼就做不到呢!眼看著文件就在那裡,就是搜不出來!


想了一下只是限定 Mac 的話 BootCamp 或者 Virtual Machine 裝 Windows 然後不就可以用Everything了么?我真是太機智了。
------------------------------之前的答案---------------------------
如果能限定在音樂的話 iTunes算一個,其他沒了。
Mac 的 HFS 殘廢不是一兩天了, spotlight的渣分詞也是一絕,要不然也不會搞出來一個Tag。
------------------------------另外吐槽一個-------------------------
不要有一個榔頭的時候就非要把所有東西都當做釘子啊,沒有就沒有唄,你要是給Apple貢獻足夠多的銷售額,廚子肯定會給給給的。


沒有

利益相關:OSX和Windows雙用戶


推薦閱讀:

OS X下有哪些去樣式的文本工具?
Mac 原來不支持全屏是為了擁有更多的桌面空間來提高工作效率,為什麼現在 OS X Lion 可以全屏呢?
OS X 10.10 中 Photoshop 快捷鍵經常失靈,怎麼解決?
為什麼新款的 MacBook Air 上沒有 Page Up 和 Page Down 鍵?
Photos for Mac 在 OS X Yosemite 10.10.3 beta 中體驗如何?

TAG:Mac | macOS | OSXLion | macOS應用 |