代码之家  ›  专栏  ›  技术社区  ›  clinux

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

  •  109
  • clinux  · 技术社区  · 14 年前

    我的文件乱七八糟,我试图把它们组织成文件夹,用名称来描述它们在递归类分解的意义上是什么,但后来我在查找文件时又找不到它(一个文件可能存在于许多文件夹中)。

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

    如果有这样一个文件系统,我不知道OSE会如何处理,因为它非常依赖于文件夹系统。我遇见 tag2find 这还不错,它解决了我现在找东西的问题,但它是一个应用程序,而不是文件系统。

    11 回复  |  直到 8 年前
        1
  •  30
  •   Daniel Brückner Pradip    14 年前

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

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

        2
  •  34
  •   binW    14 年前

    这里有一些使用谷歌的文件系统。

    tagfs-“分层文件系统的标记语义” Stephan Bloehdorn和Max V_¶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

    在与OSES集成时,我认为这不应该那么困难。操作系统深深依赖于文件系统层次结构,但基于标记的文件系统可以模拟目录结构。例如,在基于标记的文件系统中,路径 /etc/init.d 将给出所有带有两个标签的文件,即“etc”和“init.d”。对于带有其他标记以及这两个标记的文件,它们的额外标记可以显示为/etc/init.d中的目录。如果有一个带有三个标记的文件a.txt,即“etc”、“init.d”&'asdf',则“asdf”将显示为/etc/init.d中的目录,而.txt的完整路径将变为/etc/init.d/asdf/a.txt。

        3
  •  30
  •   Paul Ruane    10 年前

    我是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
    

    以及虚拟文件系统:

    $ 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
    

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

    $ 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
    

    它仍在积极发展中。写作时(2014年10月)0.4.2可用,但我将很快发布0.5.0。

        4
  •  6
  •   Johann Strydom    14 年前

    Vista和Windows7支持文件标记。 See this article

        5
  •  3
  •   KJH    14 年前

    我在问自己关于文件系统文件标记的相同问题时遇到了这个问题。然后我遇到了这个用于Windows XP/Vista的应用程序 TaggedFrog 那个 可以 做这个把戏。还没试过,但看起来很有希望。

    不过,我不希望浏览1000多个文件!无论如何,我将被迫在某个时候升级到Win7,并且可以尝试它的本地标记。

        6
  •  3
  •   jiggunjer    8 年前

    尝试 tagfs . 这是一个基于fuse的用户空间文件系统。它可以在标记过滤器视图中显示源目录中的标记目录。

    例如,假设你有一个名为“印度度假”和“照片”的目录,还有一个名为“西班牙度假”和“照片”的目录。您可以通过输入路径'/my'mountpoint/photos'来筛选所有照片。

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

        7
  •  2
  •   relet    14 年前

    例如,在没有尝试过它们或在野外看到过它们的情况下,

        8
  •  2
  •   het_passagier    10 年前

    TagsForAll 对于Windows。它是一个基于标记的文件管理器。标记可以具有层次结构。用户界面很简单,但是很好。免费版本功能齐全,并将标签保存在数据库中,Pro版本还将标签保存在一个文件的NTFS流中。

        9
  •  2
  •   misssprite    10 年前

    我发现的用户界面设计 Elyse 真是太棒了。 但它更像是一个静态系统,不能自动监视文件夹并用默认标记标记新文件。

        10
  •  1
  •   UntitledArtists    11 年前

    我也一直在考虑基于标签的文件系统。 有人想过更激进和简单的方法吗? 完全忘记文件夹(模拟文件夹只是为了程序的兼容性),并将所有标记直接放入文件名中。

    (经典文件名)_tag1_tag2_tag3….(文件扩展名)

    mydocument_tag-based-file-system_tags_file-system_stackoverflow_folder_file-name_tagfs.txt

    我总是喜欢把尽可能多的信息放在文件名中。你可以在每个可能的操作系统上找到数百万个文件中的所有内容。

    唯一的限制是evey操作系统中不同的文件名长度,它会使当前系统变得混乱。

    高级操作系统可以访问这样的文件:mydocument.txt 标记可以在操作系统的最低级别进行编辑,比如今天更改文件名。 如果突然有另一个mydocument.txt,它会自动重命名为mydocument(2).txt等。

    我知道这个想法并非没有其他问题,这里甚至没有提到……

    但是这个想法是将标签存储在最基本的低级可能性中,可以从所有过去和将来的文件系统中访问。 所有fs的共同点是文件名。

        11
  •  0
  •   pr1001    14 年前

    我不认为自己有标签支持,但是 BFS 支持一些非常酷的元数据功能。