有没有比基于文件夹的文件系统更好的替代方法,它将很快被替换吗?[关闭]


15

我遇到的所有文件系统都基于文件夹-您有一个根文件夹,其中包含文件和子文件夹,而后者又包含文件和子文件夹,依此类推。

除了组织文件,还有更好的替代方法吗?它将在不久的将来替代当前系统吗?如果您认为答案是正确的,请随时包括一些有关文件系统的历史记录。

您可以用任何方式解释“更好”一词。



2
完整的文件路径对我来说只是一个唯一的名称,而文件夹是带有通配符的文件名,该文件名可能会列出以该名称开头的文件。我不认为字典只是索引和排序的分层结构。当您知道要查找的内容时,搜索就很棒。如果您知道文件的上次/首次使用时间,则按时间顺序会派上用场。标签是一种以多种方式组织单个文件的好方法。在某些时候,您无法浏览文件。在大多数情况下,遍历树是可以的。
JeffO'2

3
我想念Google云端硬盘的标签系统,那里确实没有文件夹。任何文件都可以放置在多个标签中,使您可以同时以几种不同的方式进行组织。我认为这要容易得多。
RubberDuck

1
@RubberDuck OSX也允许您执行此操作,我也一直以为自己“哇,这更有意义”,因为特定文件通常属于多个逻辑类别。但是,即使我有这种感觉,我也没有利用标签的优势,因为1)我习惯于在文件层次结构中组织事物,并且2)应用程序了解文件系统但不了解标签。
gardenhead '16

Answers:


8

除了组织文件,还有更好的选择吗?

是。

它将在不久的将来取代当前的系统吗?

没有。

您不能替换层次结构作为组织概念的方法。

所有文件系统都有硬链接:当前的文件系统不是分层的。

人们那样使用它们是因为人们喜欢那样。

但是,文件系统是“网络”数据库(不是分层数据库)。出于一个显而易见的原因,我们只是没有充分利用网络功能。除了简单的层次结构之外,其他任何东西都令人困惑。


可以这么说,无论哪种底层实现,如果没有,我们将始终至少使用分层结构来组织我们自己的文件。
FilipDupanović2011年

1
硬链接被禁止形成循环,因此它仍然是层次结构(虽然不是树)。
vartec'3

7
-1因为您需要限定并解释“更好”的系统,而不是仅仅说“是”
Darknight

4
我不明白基于文件夹的文件系统不是分层系统。您能再解释一下吗?
gablin 2011年

1
绝对不经典的文件系统的一个具体示例:git。虽然git毫无争议地创建了文件系统,但其提交形成了一个非分层的结构。它们以最一般的形式形成DAG,它允许分支和合并的任何组合。大多数文件甚至都被大量不同的提交引用,直到它们在历史记录中发生更改为止。同样,文件/树/提交对象永远不会改变。正是这些特性使创建的文件系统git非常有用。
cmaster-恢复莫妮卡

7

我不这么认为,因为已经进行了一些尝试(例如WinFS),所有尝试都被取消了。“文件夹”结构是非常常见的层次结构。我可以被视为分类法。我觉得这是组织资源的自然方式。

另一方面,您可以拥有前端视图,例如“最近的文件”或“我的所有音乐”。但是没有真正的理由在文件系统本身中以较低级别实现它。您可以在分层文件系统的顶部具有用于该数据结构的数据结构。


5

我认为基于文件夹的树状文件系统很常见,但并不是最好的。实际上,我相信对文件进行良好分类比将文件放置在某个“位置”(例如文件夹)中要好。

文件的内容不同,因此,mp3文件包含的元信息与png文件相比有所不同。在带有列的列表中显示出现了问题,只是大小,创建日期等列是常见的。

例如,如果您查看Windows资源管理器,则当检测到某些文件类型时,列会更改。例如,如果您的目录中有很多mp3文件,则会出现诸如专辑,标题等列。如果这些文件中有一个png文件,则这些列/单元格对该特定文件/行没有意义。

我发现,将文件放置到多个文件夹中是很有意义的,只是因为有多个标识文件的分类属性。但是,为什么“位置”,“文件夹”对文件进行分类?

如果我有汽车,则不管它是在车库,停车场还是其他地方,不是识别我汽车的“地方”,而是它的财产。

当我的所有文件都通过元数据正确正确地分类后,它不在乎存储在什么地方,而只是在一些“云”中。如果我需要获取某个文件,则应通过元数据的规范来完成。


在Linux上,给定的索引节点可能具有多个硬链接。所以一个文件可以属于几个目录
Basile Starynkevitch

5

一些 实验性的操作系统甚至没有任何文件。他们有一些正交的持久性机制。看一些学术性的OS项目(CoyotosGrasshopperIsaacOS等)。

就像我们今天所知道的那样,1980年代的旧Lisp机器也可能没有文件系统。

不活跃的tunes.org网站(来自上个世纪)对没有文件的操作系统进行了一些讨论。

非基于文件的操作系统的问题在于它们需要重新实现所有功能。甚至C编译器也需要一些文件系统。...可悲的是,几乎没有经济上的动机从头开始开发这样的OS。

但是请注意,我们的TB磁盘是一团糟(分层文件系统不是在其中组织数据的最佳方式),如果我们能提供比Unix启发的文件系统(已在Windows中复制的文件系统)更好的功能,那就太好了。 。

分层文件系统已经发明了 Multics(1969)。Unix复制了它们。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.