中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » 其它操作系统综合讨论区 » [讨论]关于系统的文件夹压缩
作者:
标题: [讨论]关于系统的文件夹压缩 上一主题 | 下一主题
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『楼 主』:  [讨论]关于系统的文件夹压缩

To All:

      很早就注意到,在Windows系统目录下,类似“$NtUninstallKB885835$”的更新程序卸载备份文件夹的名字是蓝色的,只是一直无暇追究其中的缘由,想来不过是彰显文件夹的某些特殊属性而已。

      最近,开始清理系统盘空间,偶然发现在这些蓝色名字的目录有个奇怪的特性,即在右键属性菜单中的常规选项卡中,文件的<占用空间>总是小于文件的<实际大小>,而这与我脑中的占用空间比不小于文件大小的常规知识向矛盾。

      因为在FAT和NTFS文件系统中,文件以簇的形式占用磁盘空间,文件大小的不规则导致它很可能无法将所使用的簇恰好占满,而某些簇中的剩余空间因为无法收集而被废弃,因此文件的占用即为文件所用簇的占用空间,它必然是1024或其他大小(XP为4096)的整数倍,也因此它必然大于等于文件的实际大小。

      不解之余,上百度搜索答案,不久即赧然一笑,却原来是压缩后的文件夹,使用的乃是属性菜单常规选项卡“高级”选项对话框中的“压缩”功能。所有使用“压缩”的文件或文件夹名字均为蓝色,既已压缩,占用空间小于实际大小的谜底也就揭开了。

      但是不久,新的疑惑就接踵而来,我做了一些简单的测试:如果将这个压缩文件(夹)复制到其它目录下,则不再具有压缩特性;如果将这个压缩文件(夹)移动到其它目录下,则压缩特性保留;而如果将这个压缩文件(夹)复制后再移动的相同的目录下,则移动特性消失。由此移动结果推断,“压缩”应属于文件或文件夹自有的一种“属性”,但它却为何无法通过复制进行传递?

      另外的一些测试表明,此种压缩的压缩率很低,一个2M的文本文件压缩后还有1.8M,而使用WinRAR可以压到0.8M,而它对使用WinRAR压缩过的文件会自动选择不再压缩,依此推测系统的压缩算法是牺牲压缩率来换取压缩速率。

      还有的一点发现,或者说“未发现”,就是系统的解压过程对于我所测试的任何测试都是透明的,即使是在CMD或者COMMAND环境下,也可以正确无误的浏览压缩后的文本文件。没有在DOS下测试,因为是NTFS卷,若使用外部驱动支持,就无法真正得知其是否完全透明了,因为我无法断定,NTFS的DOS驱动是否也会透明的解压。而且在Windows下找到它的压缩后的“原始状态”似乎更有意义。

[ Last edited by willsort on 2006-3-23 at 21:06 ]



※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2006-3-23 20:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Wengier
系统支持

“新DOS时代”站长


积分 27734
发帖 10521
注册 2002-10-9
状态 离线
『第 2 楼』:  

复制后无法保留压缩属性应该类似Unix下的iNode的特点,如果当复制后就相当于产生了新的数据,与以前的iNode不再相关,所以原有的压缩属性不复存在;而移动则仅仅是将链接指向改变,而iNode仍为原状,所以其压缩属性保持不变。



Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2006-3-24 00:55
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (29206679)  编辑帖子  回复  引用回复
fujianabc
金牌会员





积分 3467
发帖 1616
注册 2004-6-21
状态 离线
『第 3 楼』:  

这个压缩功能是伴随着ntfs的出现而产生的,已经有很长的时间了。

ntfs压缩是一种追求速度而不是追求压缩率压缩算法。

记得dos下面的ntfsdos加载时可以选择不支持ntfs压缩。

对于一个ntfs卷,除了ntldr之外的所有文件都可以压缩,但是压了ntldr后则系统无法启动。

如果想看到ntfs压缩之后的“原始状态”,可以用一些磁盘编辑软件察看。

2006-3-24 11:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
6622186
高级用户





积分 894
发帖 411
注册 2007-2-17
状态 离线
『第 4 楼』:  

开始, 我压缩过, 但是发现文件本身并没有变小只是颜色变了, 并且访问透明, 我始终不解, 后来到网上搜索了下, 再右击文件属性, 发现占用空间确实变小了, 才明白其中原委.



@set c=     不知则觉多,知则觉少,越知越多,便觉越来越少.        --- 知多少.
@for,/l,%%i,in,(1,1,55)do,@call,set/p=%%c:~%%i,1%%<nul&ping/n 1 127.1>nul


2007-4-24 05:27
查看资料  发短消息 网志   编辑帖子  回复  引用回复
6622186
高级用户





积分 894
发帖 411
注册 2007-2-17
状态 离线
『第 5 楼』:  

NTFS 代表着 NT 的新特性



@set c=     不知则觉多,知则觉少,越知越多,便觉越来越少.        --- 知多少.
@for,/l,%%i,in,(1,1,55)do,@call,set/p=%%c:~%%i,1%%<nul&ping/n 1 127.1>nul


2007-4-24 05:29
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lpk130
初级用户





积分 80
发帖 30
注册 2007-4-19
状态 离线
『第 6 楼』:  

NTFS的新特性还包括EFS加密
这些操作对用户来说都是透明的

2007-4-24 05:55
查看资料  发短消息 网志   编辑帖子  回复  引用回复
06403213
初级用户





积分 42
发帖 21
注册 2007-10-3
状态 离线
『第 7 楼』:  

今天我也发现了这个问题,并且上DOS联盟搜了一下找到了这个帖子,和我理解的也差不多。。压缩是透明的是不是说,压缩以后不用解压还能用啊。。这种磁盘压缩文件的分配单位还是以簇为单位了,及是4096的整数倍。只有压缩文件不遵守。不知道有高手能不能说一下磁盘压缩的技术是什么?实在是不解。

2007-10-7 02:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: