Файловая система, которая использует теги, а не папки? - PullRequest
111 голосов
/ 16 июля 2010

Мои файлы в беспорядке, я пытаюсь структурировать их в папки с именами, которые описывают их рекурсивное разложение классов, но позже у меня возникают проблемы с поиском файла, когда я его ищу файл может существовать во многих папках).

Какая файловая система позволит мне находить мои файлы по комбинации тегов вместо использования папок?

Если бы существовала такая файловая система, я не уверен, как ОС справились бы, будучи настолько зависимым от системы папок. Я наткнулся на tag2find , что не так уж и плохо; это решает мою проблему с поиском материала на данный момент, но это приложение, а не файловая система.

Ответы [ 11 ]

35 голосов
/ 16 июля 2010

Вот некоторые файловые системы, которые я нашел с помощью 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 с тремя тегами, т. Е. «И т. Д.», «Init.d» и «asdf», тогда «asdf» появится как каталог внутри /etc/init.d, а полный путь к a.txt станет / и т.д. / init.d / ASDF / a.txt.

33 голосов
/ 17 октября 2013

Я являюсь автором программы для 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 г.) доступна версия 0.4.2, но скоро будет выпущена версия 0.5.0.

31 голосов
/ 16 июля 2010

Вы запрашиваете Файловая система базы данных . Мне известна одна экспериментальная реализация для Linux под названием DBFS . Microsoft начала разработку Windows Future Storage (WinFS) - ее планировалось поставить с Vista, но из-за технических проблем проект был отложен и, насколько я знаю, окончательно отменен. NTFS также может хранить метаданные для файлов, но не для полнофункциональной файловой системы базы данных.

Интеграция такой файловой системы в операционную систему не должна быть такой сложной для ядра операционной системы - она ​​может просто придерживаться иерархической модели. Сложная часть - это (графическая) оболочка, которая должна предоставлять пользователю структуру и возможности файловой системы.

6 голосов
/ 16 июля 2010

Vista и Windows 7 поддерживают тегирование файлов. См. Эту статью

3 голосов
/ 21 декабря 2010

Я сталкивался с этим вопросом, задавая себе тот же вопрос о тегах файловой системы. Затем я наткнулся на это приложение для Windows XP / Vista под названием TaggedFrog , которое может сделать свое дело. Еще не пробовал, но выглядит многообещающе.

Не с нетерпением жду, чтобы просмотреть тысячи файлов! Во всяком случае, в какой-то момент я буду вынужден перейти на Win7 и попробую использовать собственные теги.

3 голосов
/ 28 июля 2010

Попробуйте tagfs . Это файловая система пространства пользователя, основанная на предохранителях. Он может отображать теги каталогов из исходного каталога в представлении фильтра тегов.

например. допустим, у вас есть каталог «каникулы Индии» с тегами «Индия» и «фотографии» и каталог «каникулы Испании» с тегами «Испания» и «фотографии». Вы можете отфильтровать все свои фотографии, введя путь '/my_mountpoint/photos'.

Каталоги помечаются с помощью простого текстового файла. Файл с именем .tag в каталоге содержит теги. Несколько тегов разделены новыми строками.

2 голосов
/ 17 декабря 2014

Я нашел дизайн пользовательского интерфейса Elyse замечательным. Но это скорее статическая система, которая не может автоматически просматривать папку и отмечать новый файл тегом по умолчанию.

2 голосов
/ 01 февраля 2014

Есть Теги для всех для windows. Это файловый менеджер на основе тегов. Теги могут иметь иерархическую структуру. Пользовательский интерфейс очень простой, но приятный. Бесплатная версия полностью функциональна и сохраняет теги в базе данных, Pro версия сохраняет теги также в потоке NTFS в файл.

2 голосов
/ 16 июля 2010

Не испытав их или не увидев их в дикой природе, есть, например,

1 голос
/ 07 июня 2013

Я тоже долго думал о файловой системе на основе тегов.Кто-нибудь думал о более радикальном и простом подходе?Полностью забыть папки (смоделированные папки только для совместимости программ) и поместить все теги непосредственно в имя файла.

(Классическое имя файла) _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 - это имя файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...