|
簡談Win7操作系統(tǒng)文件夾中的奧妙
關(guān)于比來的新的微軟平安,不變著稱的操作系統(tǒng) 我們知道,查看一個(gè)目錄有多年夜的最快捷的體例就是看看資本打點(diǎn)器文件夾的屬性,可是我今天要說的是:若是你用這個(gè)體例去看 Windows Vista / Windows 7 系統(tǒng)的目錄,你會(huì)被你的眼睛所棍騙,因?yàn)椋琈icrosoft 同窗在 Windows Vista/ Windows 7 里面年夜量使用了NTFS文件系統(tǒng)的特征之一的:硬毗連(Hard Link)來實(shí)現(xiàn)WinSxS機(jī)制! 用過的人都知道,要安裝 Windows Vista / Windows 7系統(tǒng),那么系統(tǒng)分區(qū)必需是NTFS文件系統(tǒng)。原因有以下一些:系統(tǒng)文件呵護(hù)所需;各類平安呵護(hù)機(jī)制,如MIC所需;WinSxS 所需…… 關(guān)于最后一點(diǎn)的 WinSxS 所需,所以NTFS這是Windows Vista / Windows 7 系統(tǒng)需要的一個(gè)前提,因?yàn)橹挥性?NTFS 文件系統(tǒng)上面,才能實(shí)現(xiàn)硬毗連機(jī)制,也才能達(dá)到優(yōu)化Windows目錄占用磁盤空間的目的。 關(guān)于微軟系統(tǒng)的硬鏈接 硬鏈接是什么呢?簡單的說,就是一種針對(duì)文件的特別快捷體例,只不外這種快捷體例的實(shí)現(xiàn)和一般的快捷體例紛歧樣。 硬毗連是NTFS文件系統(tǒng)特有的屬性之一,在Linux下面,也有近似的機(jī)制。硬毗團(tuán)結(jié)用于在統(tǒng)一個(gè)卷的文件級(jí)別,硬毗連是不能跨卷的。 硬鏈接,系統(tǒng)屬性測試 Windows Vista / Windows 7自帶了建樹硬毗連的呼吁:mklink.exe,操作這個(gè)呼吁,我們可以給指定的文件建樹硬毗連: 下面的呼吁將在link.txt和source.txt之間成立硬毗連關(guān)系 C:\Users\hoii\Desktop》mklink /h link.txt gb.txt 為 link.txt 《《===》》 gb.txt 建樹了硬鏈接 注重上面的例子:link.txt本是一個(gè)不存在的文件,可是當(dāng)執(zhí)行完mklink呼吁往后,link.txt文件也就被建樹了。其實(shí),link.txt是一個(gè)子虛的文件,它是在文件系統(tǒng)層面上對(duì)gb.txt文件的一個(gè)映射,而link.txt是不占硬盤空間的。 關(guān)于硬盤空間的占用問題,可以這樣測試: 1、給硬盤劃分一個(gè)新分區(qū),空間只有2GB 2、在這個(gè)分區(qū)的test目錄里面新建了一個(gè)1.9GB巨細(xì)的文件,此時(shí)殘??臻g是0.1GB 3、用mklink呼吁給這個(gè)1.9GB巨細(xì)的文件成立了一個(gè)硬毗連 4、搜檢這個(gè)分區(qū)的殘??臻g,仍是0.1GB,可是若是用資本打點(diǎn)器看test目錄的屬性,會(huì)發(fā)現(xiàn)有2個(gè)文件,總巨細(xì)是3.8GB(整個(gè)分區(qū)才2GB,能夠容納3.8GB巨細(xì)的文件嗎?顯然不成能了) 仍是針對(duì)上述的例子,若是我們把原始的文件 gb.txt 刪除往后,link.txt文件仍是會(huì)繼續(xù)存在的,且內(nèi)容就是source.txt的文件內(nèi)容。也就是說,我們刪除gb.txt,現(xiàn)實(shí)上刪除的僅僅是這種毗連關(guān)系,文件自己仍是沒有被操作的。 關(guān)于硬毗連,最后一個(gè)需要介紹的內(nèi)容是:當(dāng)硬毗連成立往后,硬毗連雙方任何一個(gè)對(duì)象被改削,城市造成對(duì)應(yīng)的毗連對(duì)象被改削。例如上面的例子:若是改削了 link.txt,那么gb.txt文件也會(huì)同步被改削,反之亦然。這一點(diǎn)和SHELL層面的快捷體例分歧,SHELL層面的快捷體例文件LNK僅僅是一 個(gè)指示關(guān)系,改削LNK文件并不影響LNK文件指向的對(duì)象,改削LNK文件指向的對(duì)象也不會(huì)影響LNK文件。 WIN新系統(tǒng)下的硬鏈接情形和使用這種手藝的原因 好了,根基常識(shí)介紹完了,我們來現(xiàn)實(shí)看看Windows目錄里面臨于硬毗連的使用情形吧。 經(jīng)??吹接腥寺裨?,Windows\WinSxS目錄占用了太多的空間,里面經(jīng)常發(fā)現(xiàn)有同名的文件,而且這些同名的文件在 Windows\System32 目錄下面也有存在,這是為啥呢?其實(shí)這就是硬毗連導(dǎo)致的。 Microsoft為啥這么麻煩搞這個(gè)呢?其實(shí)這樣對(duì)系統(tǒng)的不變性的增添很是有益處 同樣的文件,只需要維護(hù)硬毗連關(guān)系,不需要進(jìn)行多重的拷貝,這樣可以節(jié)約硬盤空間 若是涉及文件更新,只需要先在WinSxS 目錄里面下載好一個(gè)新版本,然后改削 Windows\System32 下面同名文件的硬毗連關(guān)系,從舊版本的硬毗連指向新版本的硬毗連,這樣就能夠快速的完成文件的更新工作,而不需要進(jìn)行文件的復(fù)制,速度也會(huì)快不少 補(bǔ)丁卸載也是一樣的,只需要把硬毗連指向改為舊版本就可以了,沒有文件替代的問題。而且成立了硬毗連關(guān)系的文件之間的改削是同步的,是以只要有一方被改削了,另一方也會(huì)獲得改削 秘聞年夜白 說了這么多,那么若何知道 Windows 目錄的真實(shí)巨細(xì)呢?有良多小工具可以使用,也可以在DOS下的第三方工具來測試,有樂趣的童鞋就自己測試吧,我的測試功效如下: 對(duì)于純凈的系統(tǒng)測試功效如下,共有文件65088個(gè),其中,真實(shí)的文件有48022個(gè),其他17066個(gè)文件都是硬毗連文件。真實(shí)的文件占用了 14981682 KB的硬盤空間,而若是你用資本打點(diǎn)器看的話,那么會(huì)提醒說占用了 18244902 KB的硬盤空間。其實(shí)呢?, Windows\system32 目錄下的年夜年夜都文件都和 WinSxS 目錄成立了硬毗連關(guān)系~~都多算了一次。 Windows 7操作系統(tǒng)winsxs那么多空間占著。其實(shí)沒那么多。那不外是文件同步映射導(dǎo)致的功效。 |
|
|