Archaeopteryx 发表于 2022-7-1 10:21

有没有基于标签的文件系统

主流操作系统都是树形文件系统,一本名为《C++开发的设计模式》的书,要么放到C++文件夹,要么放到设计模式文件夹,要么两个文件夹各自放一个拷贝,不管哪种做法都不合理。如果C++和设计模式都是可以复选的标签(Flag),文件只要选择性勾选,就可以在两个标签下都找到这本书了。
倒是在网络上很常用,豆瓣的电影标签,steam的游戏分类,都很方便。

Windows那个库感觉有点这个意思,但库这个概念又太大了,还是不适合日常碎片化的文件归类,光用来做书的归类就会多出几十个库来。


dongjuanyong 发表于 2022-7-1 10:28

WinFS
longhorn当年画的饼之一,废掉之后才出的library这个凑合事的

— from Xiaomi M2012K11AC, Android 12 of S1 Next Goose v2.5.4

FujiZ 发表于 2022-7-1 10:36

硬链接?

—— 来自 realme RMX3366, Android 12上的 S1Next-鹅版 v2.5.4

tsubasa9 发表于 2022-7-1 10:38

硬链接请,软链接快捷方式也不是不可以

Archaeopteryx 发表于 2022-7-1 10:41

dongjuanyong 发表于 2022-7-1 10:28
WinFS
longhorn当年画的饼之一,废掉之后才出的library这个凑合事的


看了介绍,这东西的目标远超出我提的这个功能了,不太能想象出来成品是什么样子

kara2000 发表于 2022-7-1 10:48

多建几个快捷方式不就完了。。。

Archaeopteryx 发表于 2022-7-1 10:54

kara2000 发表于 2022-7-1 10:48
多建几个快捷方式不就完了。。。

快捷方式肯定不行的,实例不对等,源文件删了其他就都没了。

Archaeopteryx 发表于 2022-7-1 10:59

硬链接是比较接近的,不过不知道能不能实现目录的标签化,比如C++这个目录,同时属于另两个上级目录Programming和“重点书籍”

剩下就是交互的优化了,对文件赋予标签属性,跟在某标签下创建该文件链接还是有很大区别的

另外在标签化的前提下,删除文件夹不应该导致文件本身被删除,而是从文件的属性中去除掉对应标签(参考Steam和豆瓣标签)

碧琟 发表于 2022-7-1 11:13

我也尝试过一些支持标签的文件管理器,比如xyplorer,但总是不方便
现在是采用在文件名上做标签,然后用everything搜索,比如 C++开发的设计模式-t设计模式-计算机-社科.pdf。文件夹只按照归档日期分类。

tsubasa9 发表于 2022-7-1 11:18

Linux下有个tagspaces,不过不是开源的
其实用硬链接思路自己写一个这样的文件管理器也不是难事

病態極端 发表于 2022-7-1 11:30

本帖最后由 病態極端 于 2022-7-1 11:35 编辑

https://p.sda1.dev/6/677a119fc6944b6b796739370d67d51c/tag-file.jpg

https://wiki.archlinux.org/title/Baloo
https://community.kde.org/Baloo

phorcys02 发表于 2022-7-1 11:34

Archaeopteryx 发表于 2022-7-1 10:59
硬链接是比较接近的,不过不知道能不能实现目录的标签化,比如C++这个目录,同时属于另两个上级目录Program ...

这玩意不叫“基于标签的文件系统”
因为你“基于标签”这个想法就是单纯的应用软件思路

文件系统不会关心你的文件标签是啥,这和文件系统本身毫无关系,
文件系统实现类似的功能,叫做“去重”
比如zfs的 去重功能叫做 dedup
开启dedup以后, 同一个文件,你复制到不同目录复制无数份相同文件,在硬盘上也只存在一份实际数据
删除时候会维护引用关系

这样应用层使用的时候 只要按照自己的标签库,把文件分类复制一份放好就行了
也不用担心存储会指数增长,dedup会处理好数据重复

med 发表于 2022-7-1 11:40

dongjuanyong 发表于 2022-7-1 10:28
WinFS
longhorn当年画的饼之一,废掉之后才出的library这个凑合事的


这个才是点子上的东西,用数据库的逻辑来管理文件系统,不需要文件夹,直接按照文件标签与属性。winfs最终还是烂尾了,win7用了库来弱化这个概念,win11就放弃了库。macos文件和win还是没得比,但是还留着颜色做tag,但是也非常鸡肋。建议将所有属性写入文件名,然后使用everything之类的关键词搜索。

但是个人维护一个数据库是非常困难,也就是说要给这么多的文件打上标签几乎不可能。但是在部分领域是做到了的,比如几乎所有的音乐软件,就可以按照歌手、流派等属性进行索引,但是这些标签都不是用于自己给的。还有部分人使用的文献管理数据库,如endnote这种,但是文献的citation也不是自己给的。

Vista真是死得太惨了

处男鉴黄师 发表于 2022-7-1 11:45

绕指流光 发表于 2022-7-1 12:30

处男鉴黄师 发表于 2022-7-1 11:45
我寻思你可能需要把文件全塞进sql里

其实对电子书的大小来说直接塞数据库里是个不错的选择,查个字段速度可快多了,各种条件随便搞。
如果只是本地使用更不需要考虑开销之类的问题,就算有远程需求无论是迁移还是调用都很方便
就是安全性堪忧,个人灾备能力有限,因为硬盘问题破损了神仙难救

—— 来自 realme RMX3366, Android 12上的 S1Next-鹅版 v2.5.2-play

kara2000 发表于 2022-7-1 13:13

Archaeopteryx 发表于 2022-7-1 10:54
快捷方式肯定不行的,实例不对等,源文件删了其他就都没了。

??
重要文件就远程访问只读,只能操作本机对源文件进行操作,这不是最基本的么。

kara2000 发表于 2022-7-1 13:15

med 发表于 2022-7-1 11:40
这个才是点子上的东西,用数据库的逻辑来管理文件系统,不需要文件夹,直接按照文件标签与属性。 ...

就算音乐文件,也存在很大的兼容性问题,经常有带cue目录的导入到foobar全是乱码,更有目录只录入了第一个音轨,其他全是什么未知艺术家巴拉巴拉的,说穿了这玩意儿也是要消费人工的,没那么多人有热情去无偿维护一个庞大的系统性分类。

Archaeopteryx 发表于 2022-7-1 13:21

kara2000 发表于 2022-7-1 13:13
??
重要文件就远程访问只读,只能操作本机对源文件进行操作,这不是最基本的么。 ...

你没理解我的意思。按这种方式,源文件删了,快捷方式又不会消失,你可能要等到很久以后才发现某个链接已经失效了,不觉得鸡肋吗?

紧那罗 发表于 2022-7-1 13:41

你需要的是一个能打标签的文档管理器 而不是文件系统

—— 来自 HUAWEI JAD-AL50, Android 10上的 S1Next-鹅版 v2.5.4

荆凛音 发表于 2022-7-1 14:38

https://bbs.saraba1st.com/2b/thread-2037016-1-1.html

推销一下

dvd6 发表于 2022-7-1 15:27

说起音乐软件我就想吐槽,大部分音乐软件的媒体库正是标签系统的典型反例,它们按任何给出的标签列出的内容往往都只是一个无序的清单,而即使有某一个音乐软件媒体库功能足够强大支撑河合理的分类逻辑,那也不具有兼容性,不能转移到其他类型的设备上,最后还是只有整理好的文件夹是属于你的

GMJ 发表于 2022-7-1 15:27

LZ没有用过苹果的mac么?他的文件系统就可以随便加标签

baicon 发表于 2022-7-1 15:54

倒是win上有给文件打标签的软件

win8 发表于 2022-7-1 16:19

你还不如给文件用tag命名,然后everthing搜索目录和tag。要么就把文件丢到笔记软件里,利用笔记软件的目录和tag系统

Archaeopteryx 发表于 2022-7-1 16:22

win8 发表于 2022-7-1 16:19
你还不如给文件用tag命名,然后everthing搜索目录和tag。要么就把文件丢到笔记软件里,利用笔记软件的目录 ...

大量文件都是PT做种中,改了名字就不能做种了。

Archaeopteryx 发表于 2022-7-1 16:24

荆凛音 发表于 2022-7-1 14:38
https://bbs.saraba1st.com/2b/thread-2037016-1-1.html

推销一下

TagSpaces我感觉是可以的,不过毕竟是第三方软件,用来做日常文件管理一来开销大,二来可靠性也打折扣(配置文件丢失、开发商跑路等),而且pro版有点贵

win8 发表于 2022-7-1 16:25

dvd6 发表于 2022-7-1 15:27
说起音乐软件我就想吐槽,大部分音乐软件的媒体库正是标签系统的典型反例,它们按任何给出的标签列出的内容 ...

cd本身的正确tag和用户自定义tag构成了检索依据,软件提供检索功能和依照tag展示/排序的功能。反倒是不理解你…

win8 发表于 2022-7-1 16:28

Archaeopteryx 发表于 2022-7-1 16:22
大量文件都是PT做种中,改了名字就不能做种了。

感觉到了bt的拉胯,竟然没有设计按照文件hash来提供上传的功能

whzfjk 发表于 2022-7-1 16:29

荆凛音 发表于 2022-7-1 16:42

Archaeopteryx 发表于 2022-7-1 16:24
TagSpaces我感觉是可以的,不过毕竟是第三方软件,用来做日常文件管理一来开销大,二来可靠性也打折扣( ...

配置文件我觉得算是他的优点....json的解析和迁移都很容易
性能开销是个问题,不显示标签的时候其实还会,显示标签时,文件一多吃单核性能(5800x都有问题)
web版本的倒是没这个问题,但默认客户端不能做编辑
白嫖使用的话..其实旧的pro版本+新的社区版其实就ok了
晚点我也会翻个旧版pro分享出来

闪电战 发表于 2022-7-2 09:56

win8 发表于 2022-7-1 16:28
感觉到了bt的拉胯,竟然没有设计按照文件hash来提供上传的功能

这就是eMule的优点

两个路人 发表于 2022-7-2 13:51

macos 发表于 2022-7-3 14:33

ntfs的元数据确实是标签型的,缺点是没有直观的管理整理

superlattice 发表于 2022-7-4 12:28

本帖最后由 superlattice 于 2022-7-4 12:33 编辑

传统方案硬链接呗,多个路径指向一个文件,不过跨存储是个问题。

用户自己手工分类的话,写个打tag转创建硬链接的脚本就行了。比如某个文件夹拖到脚本上就会创建硬链接到某个文件夹。

lz想的是那种给文件系统的元数据加用户自定义条目那种?那搭个对象存储吧。

对象存储将获取的每个数据片段指定为对象。数据保存在单独的存储库中,而不是以文件的形式保存在文件夹中,数据与关联的元数据和唯一标识符捆绑在一起,以形成存储池。

文件存储将数据作为一条信息存储在文件夹中,以便于区分其他数据进行组织。这也称为分层存储,模仿了纸质文件的存储方式。当您需要访问数据时,您的计算机系统需要知道数据的路径。

块存储将文件拆分为单个数据块,然后将这些块作为单独的数据片段来存储。每条数据都有不同的地址,因此无需将它们存储在文件结构中。

cloudskate 发表于 2022-7-4 12:37

一个本地版色熊猫?

zx2kks 发表于 2022-7-4 12:57

本帖最后由 zx2kks 于 2022-7-4 13:02 编辑

我自己是用前面有人提到过的bilifish,确实还不够成熟,但给少量多样的文件打tag也够用了,为了降低维护成本我的策略是精品化,只有特别出色预计会反复观看的作品我才会丢进去打标签,基于同样的思路,标签数量也不追求各种图站绅士站那样事无巨细,只需把自己最在意的tag打上
页: [1]
查看完整版本: 有没有基于标签的文件系统