Файлова система, яка використовує теги, а не папки?


122

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

Яка файлова система дозволить мені знаходити свої файли за допомогою комбінації тегів замість використання папок?

Якби була така файлова система, я не впевнений, як би справлялися ОС, будучи настільки глибоко залежними від папової системи. Я наткнувся на tag2find , що не так вже й погано; це вирішує мою проблему з пошуком матеріалів на даний момент, але це додаток, а не файлова система.



2
(станом на 2013 рік) Gmail вже має цю систему з вашими електронними повідомленнями. Тепер, щоб змусити їх реалізувати це на Диску Google!
chharvey

це питання схоже на це
chharvey

2
Я думав про це, така система може взагалі позбутися папок і навіть імен файлів (не кажучи вже про дурниці розширень). Таким чином, що шлях, ім'я та унікальний ідентифікатор файлу були б лише набором тегів, які застосовуються до нього. І навіть тоді може бути більше одного файлу з однаковим набором тегів, чому б ні. Позначення можуть бути однаковими, наприклад, document/report/2015/finance/v2.01в якому порядок тегів не має значення. Чудова річ у тому, що ви можете просто надати деякі теги, а не всі, і все-таки дійти до потрібного файлу.
Петруза

1
@Petruza Я думаю, що унікальний тег ідентифікатора для кожного файлу може зробити складне управління тегами. Назви файлів все ще будуть корисною властивістю на додаток до більш загальних тегів.
jiggunjer

Відповіді:


34

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

Інтеграція такої файлової системи в операційну систему не повинна бути такою складною для ядра операційної системи - вона може просто дотримуватися ієрархічної моделі. Складна частина - це (графічна) оболонка, яка повинна піддавати користувачеві структуру та можливості файлової системи.


2
Так, WinFS було скасовано близько 2006 року: с. Можливо, спробуйте DBFS деякий час.
clinux

5
Я вважаю, що їх також називають семантичними файловими системами або реляційними файловими системами.
jiggunjer

37

Ось деякі файлові системи, які я знайшов за допомогою 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надасть усім файлам, які позначені рівно двома тегами, тобто "тощо" та "init.d". Для файлів, позначених іншими тегами, а також цих двох тегів, їх додаткові теги можуть відображатися як каталоги всередині /etc/init.d. Якщо є файл a.txt з трьома тегами, тобто 'etc', 'init.d' & 'asdf', тоді 'asdf' з'явиться як каталог всередині /etc/init.d і повний шлях a.txt стане / тощо / init.d / asdf / a.txt.


@clinux: Ось ще один останній, Fuse :: TagLayer , хоча він здається лише для читання.
isync

35

Я автор програми TMSU для Linux, яка дозволяє тегувати файли та переглядати їх у файловій системі на основі тегів.

Ось кілька прикладів використання:

$ 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.


1
Будь-який спосіб використовувати це з Windows?
Джонатан

1
@Jonathan, так, є стара версія Windows, яку можна спробувати. Зауважте, що це трохи баггі і немає підтримки VFS. Я зберігаю сенс обійтись правильним портом, але я хочу спочатку домогтися ядра до хорошого стану.
Пол Руан

Звучить приголомшливо Пол :)
Джонатан


4

Спробуйте теги . Це файлова система простору користувачів на основі запобіжників. Він може відображати позначені каталоги з вихідного каталогу у вигляді фільтра тегів.

Скажімо, у вас є каталог "відпустка Індія", який позначений "Індія" та "Фотографії" та каталог "Іспанія відпусток" з тегами "Іспанія" та "Фотографії". Ви можете відфільтрувати всі свої фотографії, ввівши шлях '/ my_mountpoint / photos'.

Каталоги тегуються через простий текстовий файл. Файл з назвою ".tag" у каталозі містить теги. Кілька тегів розділені новими рядками.


3

Я натрапив на це питання, задаючи собі те саме питання щодо тегів файлової системи. Потім я натрапив на це додаток для Windows XP / Vista під назвою TaggedFrog, яке може зробити трюк. Ще не пробував, але це виглядає багатообіцяюче.

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


Я вважаю, що TaggedFrog також підтримує новіші версії Windows.
jiggunjer


2

Існує TagsForAll для Windows. Це файловий менеджер на основі тегів. Теги можуть мати ієрархічну структуру. Інтерфейс користувача дуже простий, але приємний. Безкоштовна версія повністю функціональна і зберігає теги в базі даних, Pro зберігати теги також у потоці NTFS у файл.


2

Я виявив, що дизайн інтерфейсу Elyse чудовий. Але це більше статична система, яка не може переглядати папки і автоматично тегувати новий файл тегом за замовчуванням.


1

Я також довго думав над файловою системою на основі тегів. Хтось думав про більш радикальний і простий підхід? Щоб повністю забути папки (імітували папки лише з міркувань сумісності програм), а всі теги додайте безпосередньо до імені файлу.

(Класичне ім'я файлу) _Tag1_Tag2_Tag3 _..... (Розширення файлу)

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

Я завжди люблю вводити якомога більше інформації у назві файлу. Ви можете знайти все в мільйонах файлів на всіх можливих ОС.

Єдиним обмеженням є різна довжина імені файлу в evey OS, і він стає брудним у поточних системах.

Удосконалена ОС з можливістю доступу до такого файлу: Mydocument.txt І Теги можна редагувати на найнижчому рівні ОС, наприклад, змінити ім’я файлу сьогодні. Якщо раптом є інший Mydocument.txt, він автоматично перейменовується в Mydocument (2) .txt тощо.

Я знаю, що ця ідея не позбавлена ​​додаткових проблем, тут навіть не згадується .....

Але Ідея збирається зберігати теги в найосновнішій можливості низького рівня, до якої можна отримати ВСІ попередні та майбутні файлові системи. І те, що у всіх FS є спільним - це ім'я файлу.


Це звучить як дуже груба реалізація DBFS.
Чуу

Ви змішуєте яблука та апельсини. Все це - переміщення ієрархічної структури з каталогу до імені файлу. Або іншими словами, "все в одному каталозі" та "теги в іменах файлів" не мають сенсу в світі, заснованому на тегах. І звичайно, ви не хочете, щоб прикладні програми мали справу з 10 000 файлами, тому ОС повинна була б ефективно доставляти файли на основі специфікації тегів. Тож додаток надсилає ОС "теги", які йому потрібні для "ідентифікації файлу", і ... ви повертаєтесь до каталогів або до однієї з альтернативних файлових систем, згаданих тут.
CoolHandLouis

У Windows Explorer обмежений шлях до 255 символів, до якого легко дістатися. В іншому випадку ліміт повинен бути продиктований обмеженням FS для імен файлів. Досить сирий так, але все ж приємна ідея. Якщо ви хочете зберегти метадані у файлі та відфільтрувати їх на низькому рівні, можливі й інші менш обмежені способи, такі як додавання або попереднє додавання даних до файлу або наявність файлу "бічної кошики" з тим же ім'ям файлу, але іншим розширення, яке містило б метадані. Ще одна проблема полягає в тому, що для простого перейменування тегу може знадобитися мільйон операцій з модифікації файлів.
Рольф

Насправді ця ідея була реалізована TagSpaces .
Arnie97

0

Я не думаю, що мав (не) підтримку тегування як такої, але BFS підтримує досить цікаві функції метаданих.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.