首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在任何linux文件系统上都有类似备用数据流的东西吗?

在任何linux文件系统上都有类似备用数据流的东西吗?
EN

Stack Overflow用户
提问于 2008-10-07 18:20:54
回答 6查看 16.9K关注 0票数 23

在Windows NTFS上,有一个很好但几乎没有人使用的功能,叫做“备用数据流”(ADS),我最近在一个业余爱好开发项目中使用了它。

在Mac HFS+上也有一个类似的很好但几乎没有人使用的功能,叫做“命名分支”。

我正在考虑将这个项目移植到Linux上,但我不知道linux上是否有Filesystem具有这样的功能?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2008-10-07 18:56:54

Windows和Linux (以及其他OSes)上都有支持扩展属性(EA)的文件系统。Windows支持是为OS/2 compat添加的,没有任何文档记录的接口,除了通过备份API ( Cygwin就是这么做的)的一种老套的方法。EAs仅用于存储较小的值。在Windows上,每个EA都有一个ASCII名称(而几乎所有其他名称都是Unicode),一个文件中所有EA的大小总和不能超过64k。EA不是文件:您不能打开EA的文件句柄并像读取普通文件一样读取它。

备用数据流是NTFS提供的一个单独功能,它允许您在文件中提供备用子文件。每个文件都有一个默认的未命名数据流,除非指定备用数据流,否则会自动打开该数据流。您可以打开一个ADS的句柄,并像普通文件一样读取(甚至执行)它,只有一个(Unicode)文件名。一个广告可以和任何磁盘文件一样大。

据我所知,在Linux上没有与ADSes完全相似的东西,但是如果数据值很小,您可以在Linux端口上使用EA。

票数 15
EN

Stack Overflow用户

发布于 2008-10-07 18:33:40

ADS的问题是,当Windows移动到任何非NTFS文件系统时,它将“丢失”这些ADS流。它并不认为这些流是重要的,所以它们通常不会被保留。你会发现它们在通过网络共享、刻录到CD、放入USB驱动器等情况下无法访问或消失。

简而言之,除非你的应用程序的关注点非常窄(总是在NTFS上),否则我会完全避免广告流。

票数 14
EN

Stack Overflow用户

发布于 2008-10-07 18:51:52

某些文件系统支持扩展属性,特别是XFS和(我认为) JFS;但在大小上受到限制(XFS中为64k)。Reiser4支持任意大小的fork;但据我所知,任何发行版都不支持它。另一个选择是ZFS,同样不是很有用。

最后,只使用目录可能更明智。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/179720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档