windows本地文件搜索神器 Everything 為什么速度這么快?
1.Everything只是讀取磁盤上的USN日志
Everything並沒有全部逐一掃描我們硬盤上的文件,而是通過讀取NTFS文件系統中的USN日志來完成的,只能檢索文件名。
Everything並不掃描整個磁盤,只是讀取磁盤上的USN日志,所以速度飛快
但因此缺點也明顯:
1、只支持NTFS格式的分區,因為USN日志是NTFS專有的。在FAT、FAT32格式分區上無法使用Everything。(現在基本都是ntfs,這不算缺點,可以濾過)
2、只索引文件名稱、日期和大小,不索引文件內容和附加屬性。
3、由於Everything只讀取USN日志,所以也無法搜索網絡鄰居及映射的網絡文件夾。
USN日志
USN是系統日志的一部分,是Update Service Number Journal or Change Journal的英文縮寫,直譯為“更新序列號”,是對NTFS卷里所修改過的信息進行相關記錄的功能。當年微軟發布Windows 2000時,建立NTFS 5.0的同時,加入了一些新功能和改進了舊版本的文件系統,,它可以在分區中設置監視更改的文件和目錄的數量,記錄下監視對象修改時間和修改內容。當這個功能啟用時,對於每一個NTFS卷,當發生有關添加、刪除和修改文件的信息時,NTFS都使用USN日志記錄下來。 USN日志的工作方式,相對來說很簡單,所以非常的高效。它開始的時候是一個空文件,包括NTFS每個卷的信息。每當NTFS卷有改變的時候,所改變的信息會馬上被添加到這個文件里。這其中,每條修改的記錄都使用特定符號來標識為日志形式,也就是USN日志。每條日志,記錄了包括文件名、文件信息做出的改變,日志里包括發生了什么變化(添加、刪除或其他操作)。 USN日志相當於一本書的索引,當然書里面內容發生添加、修改或刪除的時候,USN日志會記錄下來何時做了修改,並使用特定序列號來標識,但它並不會記錄里面具體修改了什么東西,所以索引文件很小。而當你想查找某一篇文章時,你就不用一頁一頁去翻書,可以直接通過查找USN日志(也就是建立的索引)就知道這篇文章是否存在。 綜上: NTFS文件系統中的USN日志,是一項系統管理功能,能夠記錄卷上文件和文件夾的所有更改。“Everything”的搜索功能也是基於這個日志,只是在索引當中根據文件名過濾出符合條件的文件或文件夾故而十分迅速。隨着版本的優化,其速度也到了目前秒開的水平,確實是Windows的文件名檢索利器。
初接觸 Everything 你一定會好奇為什么它能快得這么離譜?!根據Everything的官網所說,它1分鍾可以索引100萬個文件。iPlaysoft的筆記本上320G的硬盤48萬多個文件,建立索引需要的時間也只有幾秒,我都差點被嚇死。其實 Everything 並沒有全部逐一掃描我們硬盤上的文件,而是通過讀取NTFS文件系統中的USN日志來完成的。
2.HTTP 和 FTP 文件共享功能
還記得 HTTP File Server 和 Star FTP Server 嗎?他們能方便地把你的機器架設成HTTP / FTP服務器以方便共享文件給別人。然而,我們的 Everything 也內置了HTTP、ETP/FTP服務器的功能,你可以將你的硬盤變成一個網站或FTP,方便別人下載你的文件!而且,HTTP的分享同樣擁有一個方便強大的搜索功能呢!
通過瀏覽器訪問Everything架設的HTTP服務器,可以瀏覽我硬盤內的文件,還能可以快速搜索該電腦文件
使用時只要點擊菜單“工具”-“HTTP服務器”或“ETP/FTP服務器”后,就可以啟動服務了。HTTP的服務,在瀏覽器訪問 http://本機ip:端口號 即可進行訪問。FTP的服務則需要FTP客戶端來訪問了。你還可以在“工具”-“選項”-“HTTP”或“FTP”中設置端口號和訪問密碼等。反正有了Everything,你就可以在局域網內隨心所欲地分享文件了!當然,如果你的機器有外網的IP(如電信的ADSL),還能讓Internet上的任何人訪問你硬盤里的文件!
在這里設置HTTP服務器的端口號、訪問帳號與密碼等
Everything 高效搜索技巧之“與”“或”(引用自xbeta)
3.常用的技巧:
技巧:在Everything的搜索框中可以輸入多個關鍵詞,以空格分開,表示搜索結果要包括全部關鍵詞。大家肯定對這種做法不會陌生,因為它正是搜索引擎的慣例。
舉例:鍵入(不包括引號,下同)“李白 北京 08 jpg”,可以快速找出某些照片。
技巧:對應“與”的還有“或”(OR)運算,用半角豎線表示:|。當你不確信關鍵詞的准確描述時,這種方式非常有用。
舉例:“jpg 李白|libai 北京 08”、“免費|freeware”……
引伸:既然空格表示“與”,那么如何表示真正的空格呢?很簡單,加英文半角引號,比如”program files”。