使用标签而不是文件夹的文件系统?
我的文件一团糟,我尝试将它们构造成文件夹,其名称以递归类分解的方式描述它们的内容,但后来当我寻找它时,我很难再次找到该文件(该文件可能是存在于许多文件夹中)。
什么文件系统允许我通过标签组合而不是使用文件夹来查找文件?
如果有这样的文件系统,我不确定操作系统将如何应对,因为它深深地依赖于文件夹系统。我遇到了 tag2find,这还不错;它解决了我目前查找内容的问题,但它是一个应用程序,而不是文件系统。
My files are a mess, I try to structure them into folders with names that describe what they are in a recursive class break-down sense but later on I have trouble finding the file again when I go looking for it (the one file can possibly exist in many folders).
What file system will allow me to find my files by a combination of tags instead of using folders?
If there was such a file system, I'm not sure how OSes would cope, being so deeply dependent on the folder system. I came across tag2find, which isn't too bad; it solves my problem with finding stuff for now but it is an application, not a file system.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(11)
这是我使用谷歌找到的一些文件系统。
TagFS - “分层文件系统的标签语义”
Stephan Bloehdorn 和 Max Völkel 的论文,2006 年
http://citeseerx.ist.psu.edu/viewdoc/摘要?doi=10.1.1.60.4187
dhtfs - “基于标记的文件系统,根据与文件关联的标记提供动态目录层次结构”
一个可用的实现,最后发布于 2007 年
https://github.com/mayuresh/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
的完整路径将变为/etc/init.d/asdf/a.txt
。Here are some file systems which I found using google.
TagFS - "Tag Semantics for Hierarchical File Systems"
paper by Stephan Bloehdorn and Max Völkel, 2006
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.60.4187
dhtfs - "Tagging based filesystem, providing dynamic directory hierarchies based on tags associated with files"
a usable implementation, last release 2007
https://github.com/mayuresh/dhtfs
Tagsistant - "A reasoning semantic filesystem for Linux and BSD"
project under active development
http://www.tagsistant.net/
Leaftag - "Tagging for the Linux desktop"
another implementation, last release 2006
http://www.chipx86.com/w/index.php/Leaftag
On integration with OSes, I don't think it should be that difficult. OSes are deeply dependent on file system hierarchy's but tag based file system can mimic directory structure. For example in a tag based file system the path
/etc/init.d
will give all the files that are tagged with exactly two tags i.eetc
andinit.d
. For files which are tagged with other tags as well as these two tags, their extra tags can appear as directories inside/etc/init.d
. If there is a filea.txt
with three tags i.eetc
,init.d
&asdf
thenasdf
will appear as directory inside/etc/init.d
and full path ofa.txt
will become/etc/init.d/asdf/a.txt
.我是 Linux 程序 TMSU 的作者,该程序可让您标记文件并在基于标记的文件系统中查看它们。
以下是一些示例用法:
虚拟文件系统:
文件名中的数字是标识符,用于保持文件名的唯一性。这些是返回文件原始位置的符号链接。
它仍在积极开发中。在撰写本文时(2014 年 10 月)0.4.2 已经可用,但我很快就会发布 0.5.0。
I'm the author of the Linux program TMSU that lets you tag files and view them in a tag-based filesystem.
Here is some example usage:
And the virtual filesystem:
The numbers in the filenames are identifiers which are there to keep the filenames unique. These are symbolic links back to the files' original locations.
It's still in active development. At time of writing (Oct 2014) 0.4.2 is available but I'll be releasing 0.5.0 soon.
您要求的是数据库文件系统。我知道 Linux 上有一个实验性实现,名为 DBFS。 Microsoft 开始开发 Windows Future Storage (WinFS) - 原计划随 Vista 一起发布,但由于技术原因问题该项目被推迟,据我所知最终被取消。 NTFS 还能够存储文件的元数据,但不能扩展功能齐全的数据库文件系统。
对于操作系统的核心来说,将这样的文件系统集成到操作系统中不应该那么复杂——它可以简单地坚持分层模型。复杂的部分是(图形)外壳,它必须向用户公开文件系统的结构和功能。
What you are asking for is a Database File System. I know of one experimental implementation for Linux called DBFS. Microsoft started developing Windows Future Storage (WinFS) - it was planned to ship with Vista but due to technical problems the project was delayed and as far as I know finally canceled. NTFS is also capable of storing metadata for files but not to an extend of a full featured database file system.
The integration of such a file system into an operating system should not be that complicated for the core of the operating system - it can simply stick with the hierarchical model. The complex part is the (graphical) shell that must expose the structure and capabilities of the file system to the user.
Vista 和 Windows 7 支持文件标记。 查看这篇文章
Vista and Windows 7 support tagging of files. See this article
尝试 tagfs。它是一个基于熔丝的用户空间文件系统。它可以在标记过滤器视图中显示源目录中的标记目录。
例如,假设您有一个标记为“印度”和“照片”的目录“假期印度”,以及一个标记为“西班牙”和“照片”的目录“假期西班牙”。您可以通过输入路径“/my_mountpoint/photos”来过滤所有照片。
目录通过简单的文本文件进行标记。目录中名为“.tag”的文件包含标签。多个标签由换行符分隔。
Try tagfs. It's a fuse based user space file system. It can show tagged directories from a source directory in a tag filter view.
E.g. let's say you have a directory 'vacation india' which is tagged 'india' and 'photos' and a directory 'vacation spain' tagged 'spain' and 'photos'. You can filter all your photos by entering the path '/my_mountpoint/photos'.
Directories are tagged through a simple text file. A file named '.tag' in the directory contains the tags. Multiple tags are separated by newlines.
我在问自己关于文件系统文件标签的同样问题时遇到了这个问题。然后我遇到了这个适用于 Windows XP/Vista 的应用程序,名为 TaggedFrog,可能诡计。还没有尝试过,但看起来很有希望。
不过,我并不期待浏览数千个文件!无论如何,我将在某个时候被迫升级到Win7并可以尝试其本机标记。
I came across this question while asking myself the same question about filesystem file tags. I then came across this application for Windows XP/Vista called TaggedFrog that may do the trick. Haven't tried it yet, but it looks promising.
Not looking forward to going through 1000s of files though! At any rate, I'll be forced to upgrade to Win7 at some point and can try its native tagging.
我也一直在考虑基于标签的文件系统很长时间。
有人想过更激进、更简单的方法吗?
完全忘记文件夹(模拟文件夹仅出于程序兼容性原因),并将所有标签直接放入文件名中。
(经典文件名)_Tag1_Tag2_Tag3_....(文件扩展名)
Mydocument_tag-based-file-system_tags_file-system_stackoverflow_folder_file-name_tagfs.txt
我总是喜欢在文件名中放入尽可能多的信息。您可以在每种可能的操作系统上的数百万个文件中找到所有内容。
唯一的限制是每个操作系统中的文件名长度不同,并且它会在当前系统中变得混乱。
高级操作系统可以访问如下文件:Mydocument.txt
并且标签可以在操作系统的最低级别进行编辑,就像今天更改文件名一样。
如果突然出现另一个 Mydocument.txt,它会自动重命名为 Mydocument(2).txt 等等。
我知道这个想法并不是没有额外的问题,甚至在这里都没有提到......
但是这个想法即将以最基本的低级可能性存储标签,可以从所有过去和未来的文件系统访问这些标签。
所有 FS 的共同点是文件名。
I have been thinking also about a tag based file system a long time.
Has anybody thought about more radical and simple approach?
To forget folders completely (simulated folders only for compatibility reasons for programms), and put all tags directly into the file name.
(Classic File Name)_Tag1_Tag2_Tag3_.... .(File extension)
Mydocument_tag-based-file-system_tags_file-system_stackoverflow_folder_file-name_tagfs.txt
I always like to put as much information as possible in the file name. You can find everything in millions of files on every possible OS.
The only limit is the different file name length in evey OS, and it gets messy with current systems.
An advanced OS with could access a file like this: Mydocument.txt
And the Tags can be edited in the lowest level of the OS, like changing the Filename today.
If there is suddenly another Mydocument.txt it is auto renamed to Mydocument(2).txt and so on.
I know this idea is not without additional problems, not even mentioned here.....
But the Idea is about to store tags in the most basic low level possibility, that can be accessed from ALL past and future file systems.
And what all FS have in common is the file name.
没有尝试过或在野外见过它们,例如
Without having tried them or seen them in the wild, there are for example
Windows 上有 TagsForAll。它是一个基于标签的文件管理器。标签可以具有层次结构。用户界面非常简单但很好。免费版本功能齐全,可以将标签保存在数据库中,专业版也可以将 NTFS 流中的标签保存到文件中。
There is TagsForAll for windows. It is a file manager based on tags. Tags can have hierarchical structure. User interface is very simple but nice. Free version fully functional and save tags in database, Pro version save tags also within NTFS stream to a file.
我发现Elyse的UI设计非常棒。
但它更像是一个静态系统,它无法自动监视文件夹并使用默认标签标记新文件。
I found the UI design of Elyse is wonderful.
But it's more a static system that it can't watch folder and tag new file with a default tag automatically.
我认为本身没有标记支持,但 BFS 支持一些非常酷的元数据功能。
I don't think had (has) tagging support per se but BFS supports some pretty cool metadata functionality.