windows本地文件搜索神器 Everything 为什么速度这么快?
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”。
如果觉得这文章还算用心,请劳驾点击右下角的推荐,这是对我们这些做开源分享的最大的肯定,谢谢。
作者:zqifa
出处:https://www.cnblogs.com/zqifa/
欢迎访问新博客地址:https://www.l1mn.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。