Der beste Weg scheint das tagging-Dateisystem tagsistant zu sein .
Von der Homepage:
Tagsistant ist ein tagbasiertes Dateisystem für Linux, das Verzeichnisse in Tags umwandelt und Ihre Dateien nach Ihnen durchsucht.
Mount Tagsistant
Teilen Sie Tagsistant einfach den Namen des Verzeichnisses mit, das Sie verwenden möchten, z. B. myfiles / in Ihrem Zuhause. Dieses Verzeichnis ist jetzt ein besonderer Ort mit benutzerdefinierten Regeln, mit denen Sie Ihre Dateien verwalten können.
$ tagsistant ~/myfiles
$
Erstellen Sie Ihre Tags
Denken Sie an Verzeichnisse unter Tags / als weiße Aufkleber, auf die Sie etwas schreiben. Erstellen Sie so viele Tags, wie Sie benötigen, und markieren Sie Ihre Dateien.
$ mkdir ~/myfiles/tags/startrek
$ mkdir ~/myfiles/tags/starwars
$ mkdir ~/myfiles/tags/scifi
Kennzeichnen Sie Ihre Dateien
Nachdem Sie ein Tag in tags / erstellt haben, ist es im Geschäft / verfügbar. Kopieren Sie Ihre Dateien darin: So markieren Sie Dateien. Das @ markiert das Ende der Tag-Liste und ist erforderlich.
$ cp first_contact.avi ~/myfiles/store/startrek/@
$ cp the_return_of_the_jedi.avi ~/myfiles/store/starwars/@
Finden Sie Ihre Dateien anhand von Tags
Verfassen Sie Ihre Suchanfrage, indem Sie so viele Tags auswählen, wie Sie möchten. Sie können sogar die Ergebnisse mehrerer Abfragen kombinieren, indem Sie ein + / dazwischen platzieren, wie in startrek / + / starwars /, wodurch die mit startrek gekennzeichneten Dateien mit den mit starwars gekennzeichneten Dateien zusammengeführt werden.
$ ls ~/myfiles/store/startrek/@
first_contact.avi
$ ls ~/myfiles/store/startrek/+/starwars/@
first_contact.avi
the_return_of_the_jedi.avi
Aktivieren Sie die Beziehungen zwischen Tags
$ mkdir ~/myfiles/relations/scifi/includes/startrek
$ ls ~/myfiles/store/scifi/@
first_contact.avi # 1 file...
$ mkdir ~/myfiles/relations/scifi/includes/starwars
$ ls ~/myfiles/store/scifi/@
first_contact.avi
the_return_of_the_jedi.avi # 2 files!
Tagsistant versteht mehrere Zusammenhänge:
- enthält: Wenn A B enthält, wird jede mit B gekennzeichnete Datei automatisch in A gefunden.
- Ausschlüsse: Wenn A B ausschließt, kann eine mit B gekennzeichnete Datei nicht in A gefunden werden, selbst wenn sie mit A gekennzeichnet ist.
- is_equivalent: Wenn A gleich B ist, sind alle Dateien in A in B verfügbar und umgekehrt.
Und es gibt noch mehr!
Kennzeichnen Sie ganze Verzeichnisse
$ cp -R ~/Photos/London ~/myfiles/store/photos/@
$ ls -l ~/myfiles/store/photos/@/
London
$ ls -l ~/myfiles/store/photos/@/London/
-rw------- 1 tx0 tx0 2.3M Sep 28 2009 bridge.jpg
-rw------- 1 tx0 tx0 3.0M Aug 30 2011 trafalgar_square.jpg
[ ... more files here ... ]
Mit Tagsistant können Sie ganze Verzeichnisse markieren. Das Verzeichnis selbst wird markiert, nicht die darin enthaltenen Dateien, wodurch Platz in der Tag-Datenbank gespart wird.
Verwenden Sie dreifache Tags
$ ls ~/myfiles/store/document:/author/eq/Tx0/@
$ ls ~/myfiles/store/document:/title/inc/Strategic/@
$ ls ~/myfiles/store/pictures:/aperture/gt/5.6/@
$ ls ~/myfiles/store/time:/hour/lt/3/@
Dreifache Tags sind erweiterte Tags, die durch einen Namespace (abgeschlossen durch einen Doppelpunkt) gebildet werden, der die interessierende Domäne des Tags identifiziert, einen Schlüssel, der das Tag qualifiziert, einen Operator (Gleichung für Gleichheit, gt für größer als, lt für kleiner als und inc für Includes) und schließlich einen Wert, der das Tag quantifiziert.
Dies scheint mir der konsistenteste und eleganteste Ansatz für das Taggen von Dateien unter Linux zu sein. Es gibt es seit mehr als 10 Jahren, daher ist es auch eine ausgereifte Lösung, ohne das Risiko, bald zu verschwinden.