hip*_*ail 6 filesystems ntfs api
可以在 Linux 下挂载 Apple HFS+ 和 Microsoft NTFS 文件系统。
两个文件系统都支持每个文件的多个内容流,尽管这并没有被广泛使用。
是否有(半)标准方法可以从 Linux 访问这些文件系统功能?如果是这样,两个文件系统之间的方法是统一的还是只有神秘的临时方法可用?(也许有ioctls 的东西?)
ntfs-3g 可以读取 NTFS 中的备用数据流。从它的联机帮助页:
备用数据流 (ADS)
NTFS 将所有数据存储在流中。每个文件只有一个未命名的数据流,并且可以有多个命名的数据流。文件的大小是其未命名数据流的大小。默认情况下,ntfs-3g 只会读取未命名的数据流。
通过使用选项“streams_interface=windows”和 ntfs-3g 驱动程序(lowntfs-3g 不可能),您将能够读取任何命名的数据流,只需在冒号后指定流的名称。例如:
Run Code Online (Sandbox Code Playgroud)cat some.mp3:artist命名数据流就像普通文件一样,因此您可以读取它们、写入它们甚至删除它们(使用 rm)。您可以通过获取“ntfs.streams.list”扩展属性来列出文件具有的所有命名数据流。
对于 hfs+,我找不到任何结论性的东西(例如内核文档),但是Super User 上的这个问题指出了一个建议:
添加
/rsrc到文件名的末尾以访问资源分支。我不知道哪里有记录。编辑:只是为了澄清我指的是命令行用法,例如cp somefile/rsrc destfile将复制 somefile 的资源叉一个名为 destfile 的文件。所有命令行函数都以这种方式工作。我还没有用任何图形测试过它。