Мои файлы в беспорядке, я пытаюсь структурировать их в папки с именами, которые описывают их рекурсивное разложение классов, но позже у меня возникают проблемы с поиском файла снова, когда я его ищу (тот, который файл может существовать во многих папках).
Какая файловая система позволит мне находить мои файлы по комбинации тегов вместо использования папок?
Если бы существовала такая файловая система, я не уверен, как ОС справились бы, будучи настолько глубоко зависит от системы папок. Я наткнулся на tag2find , что не так уж и плохо; это решает мою проблему с поиском материала на данный момент, но это приложение, а не файловая система.
То, о чем вы просите, это файловая система базы данных. Я знаю об одной экспериментальной реализации для Linux под названием DBFS. Microsoft начала разработку Windows Future Storage (WinFS) - ее планировалось поставлять с Vista, но из-за технических проблем проект был отложен и, насколько я знаю, окончательно отменен. NTFS также способна хранить метаданные для файлов, но не до такой степени, как полнофункциональная файловая система баз данных.
Интеграция такой файловой системы в операционную систему не должна быть такой сложной для ядра операционной системы - она может просто придерживаться иерархической модели. Сложной частью является (графическая) оболочка, которая должна показать пользователю структуру и возможности файловой системы.
Вот некоторые файловые системы, которые я нашел с помощью Google.
TagFS - "Семантика тегов для иерархических файловых систем" статья Стефана Блохдорна и Макса Фёлькеля, 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 станет /etc/init.d/asdf/a.txt.
Vista и Windows 7 поддерживают тегирование файлов. См. Эту статью
Я не думаю, что имел (имеет) Поддержка тегов как таковая, но BFS поддерживает некоторые довольно крутые функции метаданных.
, не пробуя их или не встречая их в дикой природе, есть, например,
Попробуйте tagfs . Это файловая система пользовательского пространства, основанная на плавких предохранителях. Он может отображать каталоги с тегами из исходного каталога в представлении фильтра тегов.
Например. скажем, у вас есть каталог «отпуск в Индии» с тегами «индия» и «фотографии» и каталог «отпуск в Испании» с тегами «испания» и «фотографии». Вы можете отфильтровать все свои фотографии, указав путь '/ my_mountpoint / photos'.
Каталоги помечаются с помощью простого текстового файла. Файл с именем '.tag' в каталоге содержит теги. Несколько тегов разделяются символами новой строки.