使用标签而不是文件夹的文件系统?

cli*_*nux 113 filesystems tags

我的文件很乱,我尝试将它们组织成文件夹,其名称描述了它们在递归类故障中的含义,但后来我在寻找它时再次找不到文件(一个文件可能存在于许多文件夹中).

什么文件系统允许我通过组合标签而不是使用文件夹来查找我的文件?

如果有这样的文件系统,我不确定操作系统如何应对,如此深深地依赖于文件夹系统.我遇到了tag2find,这并不算太糟糕; 它解决了我现在寻找东西的问题,但它是一个应用程序,而不是文件系统.

bin*_*inW 37

以下是我使用谷歌找到的一些文件系统.

TagFS - "分层文件系统的标记语义"论文,Stephan Bloehdorn和MaxVölkel,2006 http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.60.4187

dhtfs - "基于标记的文件系统,提供基于与文件关联的标签的动态目录层次结构"一个可用的实现,最新版本2007 http://code.google.com/p/dhtfs/

Tagsistant - 正在积极开发的"Linux和BSD的推理语义文件系统"项目 http://www.tagsistant.net/

Leaftag - "标记为Linux桌面"的另一个实现,最新版本2006 http://www.chipx86.com/w/index.php/Leaftag

在与操作系统集成时,我不认为应该那么困难.操作系统严重依赖于文件系统层次结构,但基于标签的文件系统可以模仿目录结构.例如,在基于标签的文件系统中,路径/etc/init.d将给出所有标记有两个标签的文件,即'etc'和'init.d'.对于使用其他标签以及这两个标签标记的文件,其额外标签可以显示为/etc/init.d中的目录.如果有一个带有三个标签的文件a.txt,即'etc','init.d'和'asdf',则'asdf'将显示为/etc/init.d中的目录,并且a.txt的完整路径将变为/等/ init.d /的ASDF/A.TXT.


Dan*_*ner 34

您要求的是数据库文件系统.我知道一个名为DBFS的 Linux实验性实现.微软开始开发Windows Future Storage(WinFS) - 它计划与Vista一起发布,但由于技术问题,该项目被推迟,据我所知最终取消.NTFS还能够存储文件的元数据,但不能存储到全功能数据库文件系统的扩展.

将这样的文件系统集成到操作系统中对于操作系统的核心来说不应该那么复杂 - 它可以简单地坚持分层模型.复杂的部分是(图形)shell,必须向用户公开文件系统的结构和功能.

  • 我相信它们也被称为*语义*文件系统,或*关系*文件系统. (4认同)
  • 是的,WinFS在2006年左右被取消了:p.可能会尝试DBFS一段时间. (2认同)

Pau*_*ane 33

我是Linux程序TMSU的作者,它允许您标记文件并在基于标记的文件系统中查看它们.

以下是一些示例用法:

$ tmsu tag track.mp3 music genre=indie-rock good year=1999
$ tmsu tag melody.mp3 music
$ tmsu tag DC123.jpg photo landscape country=italy year=2014
$ tmsu files music year = 1999
./song.mp3
Run Code Online (Sandbox Code Playgroud)

和虚拟文件系统:

$ mkdir mp
$ tmsu mount mp
$ ls mp
query  tags
$ ls tags
country  genre  good  landscape  photo  music  year
$ ls tags/music
genre  good  track.1.mp3  melody.2.mp3 year
Run Code Online (Sandbox Code Playgroud)

文件名中的数字是用于保持文件名唯一的标识符.这些是返回文件原始位置的符号链接.

$ ls tags/music/good  # you can drill down
genre  track.1.mp3  year
$ ls "query/music and good"  # this directory gets automatically created
track.1.mp3
Run Code Online (Sandbox Code Playgroud)

它仍处于积极发展阶段.在撰写本文时(2014年10月),0.4.2可用,但我很快就会发布0.5.0.


Joh*_*dom 6

Vista和Windows 7支持标记文件.看到这篇文章

  • 不幸的是,并非所有文件类型都可以这样标记. (9认同)

Mar*_*ner 5

试试tagfs。它是一个基于保险丝的用户空间文件系统。它可以在标记过滤器视图中显示来自源目录的标记目录。

例如,假设您有一个标签为“印度”和“照片”的“假期印度”目录和一个标签为“西班牙”和“照片”的目录“西班牙假期”。您可以通过输入路径“/my_mountpoint/photos”来过滤所有照片。

目录通过一个简单的文本文件进行标记。目录中名为“.tag”的文件包含标签。多个标签由换行符分隔。