why "Everything" is so fast?
Posted D R Y ! -geek~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了why "Everything" is so fast?相关的知识,希望对你有一定的参考价值。
Everything并不扫描整个磁盘,只是读取磁盘上的USN日志,所以速度飞快。
但因此缺点也明显:
1、只支持NTFS格式的分区,因为USN日志是NTFS专有的。在FAT、FAT32格式分区上无法使用Everything。
2、只索引文件名称、日期和大小,不索引文件内容和附加属性。
3.由于Everything只读取USN日志,所以也无法搜索网络邻居及映射的网络文件夹。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
关于USN日志,这是我的总结学习:
USN是Update Service Number Journal or Change Journal的英文缩写,直译为“更新序列号”,是对NTFS卷里所修改过的信息进行相关记录的功能。当年微软发布Windows 2000时,建立NTFS 5.0的同时,加入了一些新功能和改进了旧版本的文件系统,为它请来了一位可靠的秘书,它可以在分区中设置监视更改的文件和目录的数量,记录下监视对象修改时间和修改内容。没错,它就是USN日志。当这个功能启用时,对于每一个NTFS卷,当发生有关添加、删除和修改文件的信息时,NTFS都使用USN日志记录下来。
真高效!探访秘书的工作
NTFS秘书——USN日志的工作方式,相对来说很简单,所以非常的高效。它开始的时候是一个空文件,包括NTFS每个卷的信息。每当NTFS卷有改变的时候,所改变的信息会马上被添加到这个文件里。这其中,每条修改的记录都使用特定符号来标识为日志形式,也就是USN日志。每条日志,记录了包括文件名、文件信息做出的改变。怎样在系统中让秘书开始干活儿呢?如图2所示,在NTFS分区的图标上右击选择“属性”,勾选圈中部分即可。
忠诚的秘书只为NTFS效劳
USN秘书不仅工作高效,而且非常的忠诚,虽然这种忠诚看起来有点迫不得已。日志里包括发生了什么变化(添加、删除或其他操作),但并不会记录数据或其他变化的细节,所以它只能工作在NTFS文件系统中。
看到上面的描述,你也许还是比较难以理解,那么就举个例子说明一下。USN日志为什么不能在FAT32文件系统下运用呢?就像钢笔不能在宣纸上记录,只能在普通纸上记录一样。USN日志相当于一本书的索引,当然书里面内容发生添加、修改或删除的时候,USN日志会记录下来何时做了修改,并使用特定序列号来标识,但它并不会记录里面具体修改了什么东西,所以索引文件很小。而当你想查找某一篇文章时,你就不用一页一页去翻书,可以直接通过查找USN日志(也就是建立的索引)就知道这篇文章是否存在。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Everything -极速文件搜索工具神器,快到让你震惊!
每个人的电脑都保存着大量的软件、MP3、照片、游戏、文档、电子书等文件。如果没有很好的使用习惯和管理方法,时间一长东西就容易乱起来了,可能你将需要花大半天的时间才找到一个文档,急用时可谓相当尴尬呢。
然而,Windows自带的搜索功能实在是太慢了,我们需要更快的工具来提高工作效率!
Everthing 正是当之无愧的最强文件搜索神器!!它可以在闪电般的瞬间从海量的硬盘中找到你需要的文件!速度快到绝对让你难以置信!首次接触到 Everything 可真让我惊讶和兴奋了许久!!而且它还是一款完全免费的软件,界面简洁高效,体积很小巧,但功能却非常丰富!Everything 文件搜索工具最大的优点是近乎变态的速度。其速度不是快,是快到离谱;用户不是满意,而是震惊。你甚至会愤怒,它凭什么这么快?!
文件列表功能 – 不接线的情况下查找移动硬盘/U盘上的文件
在最近的版本中,Everything 增加了一个名为 “文件列表” 的新功能,你可以将一些完整的文件路径保存成一个文件列表供搜索之用。譬如你可以将U盘、移动硬盘连接上之后,将其内的所有文件保存成一个“文件列表”文件 (.efu格式),然后在 Everything 的设置->索引->文件列表里面添加这个文件列表让Everything加载它。这样操作之后,即便平时没有连接该移动硬盘,一样可以搜索到它里面的文件!
Everything 强大的搜索功能(支持正则表达式)
你只要在 Everything 的搜索框中输入你想要找的文件名,你会发现在你输入的短短的瞬间,你还没来得及按回车键,搜索结果已经呈现在你的面前了!!Everything 完美支持中文搜索,对于技术比较牛皮的人,还可以使用强悍的正则表达式来搜索特定的文件呢。具体的教程,可以看官方网站的 Everything如何使用正则表达式 FAQ部分。
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)
技巧:在Everything的搜索框中可以输入多个关键词,以空格分开,表示搜索结果要包括全部关键词。大家肯定对这种做法不会陌生,因为它正是搜索引擎的惯例。
举例:键入(不包括引号,下同)“李白 北京 08 jpg”,可以快速找出某些照片。
技巧:对应“与”的还有“或”(OR)运算,用半角竖线表示:|。当你不确信关键词的准确描述时,这种方式非常有用。
举例:“jpg 李白|libai 北京 08”、“免费|freeware”……
引伸:既然空格表示“与”,那么如何表示真正的空格呢?很简单,加英文半角引号,比如”program files”。
Everything的原理与局限
初接触 Everything 你一定会好奇为什么它能快得这么离谱?!根据Everything的官网所说,它1分钟可以索引100万个文件。iPlaysoft的笔记本上320G的硬盘48万多个文件,建立索引需要的时间也只有几秒,我都差点被吓死。其实 Everything 并没有全部逐一扫描我们硬盘上的文件,而是通过读取NTFS文件系统中的USN日志来完成的。
NTFS文件系统中的 USN 日志记录了系统对NTFS分区中的文件所做的所有更改。对于每一卷,NTFS 都使用 USN 日志来跟踪有关添加、删除和修改的文件的信息。感兴趣的朋友可以研究一下这个USN日志。然而,由于Everything的工作原理是基于 NTFS 文件系统的,也就是它不能在 FAT32 的文件系统上使用了,这是 Everything 的一个局限之处。
以上是关于why "Everything" is so fast?的主要内容,如果未能解决你的问题,请参考以下文章
执行git push出现"Everything up-to-date"
[SP1][Luogu]TEST : Life, the Universe, and Everything