我可以从 Linux 读取和写入备用 HFS+ 文件分支或 NTFS 数据流吗?

我可以从 Linux 读取和写入备用 HFS+ 文件分支或 NTFS 数据流吗?

可以在 Linux 下挂载 Apple HFS+ 和 Microsoft NTFS 文件系统。

两种文件系统都支持每个文件多个内容流,尽管这并未得到广泛使用。

是否有(半)标准方法可以从 Linux 访问这些文件系统功能?如果是这样,两个文件系统之间的方法是统一的还是只有神秘的临时方法可用? (也许有ioctls 的东西?)

答案1

ntfs-3g 可以读取 NTFS 中的备用数据流。从它的联机帮助页来看:

备用数据流 (ADS)

NTFS 将所有数据存储在流中。每个文件都只有一个未命名的数据流,并且可以有许多命名的数据流。文件的大小是其未命名数据流的大小。默认情况下,ntfs-3g只会读取未命名的数据流。

通过使用选项“streams_interface=windows”,以及 ntfs-3g 驱动程序(lowntfs-3g 不可能),您将能够读取任何命名的数据流,只需在冒号后指定流的名称即可。例如:

 cat some.mp3:artist

命名数据流的行为就像普通文件一样,因此您可以读取它们、写入它们,甚至删除它们(使用 rm)。您可以通过获取“ntfs.streams.list”扩展属性来列出文件具有的所有命名数据流。

对于 hfs+ 我找不到任何决定性的东西(例如内核文档),但是这个问题超级用户指出了一个建议:

添加/rsrc到文件名末尾以访问资源分支。我不知道哪里有记录(如果有的话)。编辑:只是为了澄清我指的是命令行用法,例如cp somefile/rsrc destfile将复制某个文件的资源分支到一个名为 destfile 的文件。所有命令行功能都以这种方式工作。我还没有用任何图形测试它。

相关内容