Fork (文件系统)
编辑分叉是一种数据结构,用于在文件中与主要数据一起存储附加结构化数据——一种在一个文件中存储多个数据流的概念。
尽管在其他地方也有使用,并且最初来自不同的环境,但这个概念现在在 Apple Macintosh 领域因所谓的资源分支而广为人知。
在 OS/2 的 HPFS 文件系统中,此数据称为扩展属性 (EA),在 Windows 的 NTFS 文件系统中,此数据称为备用数据流。
苹果麦金塔电脑
编辑在 Apple Macintosh 上,除了包含主要数据的所谓数据分支之外,文件还可以包含所谓的资源分支。 这种数据结构用于 Apple 的文件系统(MFS、HFS+、HFS+),以便能够包含任何大小的元数据,例如,在旧程序文件或用户中保存图标、菜单内容或程序代码等资源字体文件的数据。 因此,可以通过使用资源编辑器编辑资源分支来本地化此类程序; 例如,翻译成另一种语言。
用于访问和编辑资源分支内容的常用编辑器软件有:
- ResEdit:来自 Apple 的免费软件,具有数据结构及其内容的图形表示(已弃用),
- Resorcerer:一种流行但价格昂贵的商业应用程序,它比 ResEdit 知道更多的数据类型,
- ResKnife:适用于 Mac OS X 的免费软件
- Recycle:一种 Mac OS X 工具,可以将资源分叉内容提取到单独的文件中,并将一些文件转换为更有用的现代格式。
自 2000 年 Mac OS X 推出以来,资源分支不再用于程序,而是程序所需的所有数据都在一个包的单个文件中,实际上是一个子目录,但显示给用户的是程序变成。
映射文件
编辑当使用基于内核的 SMB 服务在 Solaris 上导出基于 ZFS 的文件系统时,备用数据流将映射到相应基本文件的关联扩展属性目录中的同名文件。
视窗
编辑Windows 文件系统 NTFS 支持所谓的备用数据流 (ADS)。 使用此功能,数据可以由用户以不可见的方式绑定到文件中进行存储。 此功能不太为人所知,并且数据流比 Apple Macintosh 资源分支更难找到。替代数据流是 Solaris 和 NFSv4 上可用的扩展属性命名空间的简化实现,在 UFS 和 ZFS 文件系统上实现。
使用
Microsoft Windows 2000 和 Windows XP 使用 ADS 子流来存储每个文件的属性页中可用的元数据,以及更多取决于应用程序的信息。 在 Windows XP(Service Pack 2 及更高版本)下,还会存储一个所谓的区域标识符,这使得随后可以识别从 Internet 下载的文件。 下载时,Internet Explorer 和从版本 3 开始的 Mozilla Firefox 也添加了相关信息。
概念
可以为每个文件存储任意数量的子流。 实际上,这意味着您可以为每个不可见的文件分配任意数量的其他文件,但 - 只要该过程发生在 NTFS 驱动器内 - 会与文件一起移动和复制。 对隐藏文件片段的访问以冒号进行: example.txt:myfile.txt 表示属于名为 myfile.txt 的文件 example.txt 的数据流。 除了文件之外,文件夹还可以包含额外的数据流,这使得很难找到不需要的 ADS。
安全
- 由于 ADS 流对用户不可见,而且并非所有防病毒程序都可以扫描 ADS,因此病毒可以利用此功能。
- ADS 中的数据就像普通文件一样可执行。 在自动启动中,此类可执行数据可以使用启动命令运行。
- 计算文件夹大小时,例如在Windows资源管理器的文件夹属性中,ADS流占用的空间不计入计算。 大量数据可能“隐藏”起来很难找到。
在向 Windows Vista 操作系统过渡期间,Microsoft 出于安全原因严格限制了 ADS 流的使用。
列出广告
从 Windows Vista 开始,可以使用以下条目显示替代数据流的名称:
删除广告
删除 ADS 很麻烦,因为删除命令 (del) 对 ADS 不起作用。
可以将带有 ADS 的文件复制并复制回另一个不支持 ADS 的文件系统(例如 FAT32)。 但是,任何 ADS 都将在此过程中丢失。
递归地删除文件系统中的所有 ADS 流。 -d 选项代表删除,-s 选项代表递归。 如果没有 -d,则只列出流。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/358176/