Il modo migliore sembra essere il tagistant del file system di tagging .
Dalla homepage:
Tagistant è un filesystem basato su tag per Linux che trasforma le directory in tag e cerca i tuoi file.
Mount Tagistant
Basta dire a Tagistant il nome della directory che si desidera utilizzare, ad esempio myfiles / nella propria casa. Questa directory è ora un posto speciale con regole personalizzate che ti aiutano a gestire i tuoi file.
$ tagsistant ~/myfiles
$
Crea i tuoi tag
Pensa alle directory sotto i tag / come adesivi bianchi su cui scrivi qualcosa. Crea tutti i tag di cui hai bisogno, pronti a contrassegnare i tuoi file.
$ mkdir ~/myfiles/tags/startrek
$ mkdir ~/myfiles/tags/starwars
$ mkdir ~/myfiles/tags/scifi
Tagga i tuoi file
Dopo aver creato un tag nei tag /, sarà disponibile nello store /. Copia i tuoi file al suo interno: è così che tagghi i file. La @ indica la fine dell'elenco dei tag ed è obbligatoria.
$ cp first_contact.avi ~/myfiles/store/startrek/@
$ cp the_return_of_the_jedi.avi ~/myfiles/store/starwars/@
Trova i tuoi file per tag
Componi la tua query di ricerca scegliendo tutti i tag che desideri. Puoi anche combinare i risultati di più di una query posizionando un + / in mezzo, come in startrek / + / starwars / che unisce i file taggati startrek con i file con tag starwars.
$ ls ~/myfiles/store/startrek/@
first_contact.avi
$ ls ~/myfiles/store/startrek/+/starwars/@
first_contact.avi
the_return_of_the_jedi.avi
Attiva le relazioni tra i tag
$ 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!
Tagistant comprende diverse relazioni:
- include: Se A include B, tutti i file contrassegnati come B possono essere trovati automaticamente all'interno di A.
- esclude: Se A esclude B, qualsiasi file contrassegnato come B non può essere trovato all'interno di A anche se è contrassegnato come A.
- is_equivalent: se A è equivalente a B, tutti i file in A sono disponibili in B e viceversa.
E c'è ancora di più!
Tagga intere directory
$ 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 ... ]
Con Tagistant puoi taggare intere directory. La directory stessa verrà taggata, non i file all'interno, risparmiando spazio nel tag db.
Usa tag tripli
$ 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/@
I tag tripli sono tag avanzati formati da uno spazio dei nomi (terminato da due punti) che identifica il dominio di interesse del tag, una chiave che qualifica il tag, un operatore (eq per l'uguaglianza, gt per maggiore di, lt per minore di e inc per include) e infine un valore che quantifica il tag.
Questo mi sembra l'approccio più coerente ed elegante per la codifica dei file su Linux. È in circolazione da più di 10 anni, quindi è anche una soluzione matura, senza il rischio di scomparire presto.