La mejor manera parece ser el sistema de archivos de marcado tagsistant .
Desde la página de inicio:
Tagsistant es un sistema de archivos basado en etiquetas para Linux que convierte los directorios en etiquetas y busca sus archivos por usted.
Montura resistente
Simplemente dígale a Tagsistant el nombre del directorio que desea usar, por ejemplo, myfiles / en su hogar. Este directorio ahora es un lugar especial con reglas personalizadas que lo ayudan a administrar sus archivos.
$ tagsistant ~/myfiles
$
Crea tus etiquetas
Piense en los directorios debajo de las etiquetas / como calcomanías blancas sobre las que escribe algo. Cree tantas etiquetas como necesite, listas para marcar sus archivos.
$ mkdir ~/myfiles/tags/startrek
$ mkdir ~/myfiles/tags/starwars
$ mkdir ~/myfiles/tags/scifi
Etiqueta tus archivos
Después de crear una etiqueta en tags /, estará disponible en la tienda /. Copie sus archivos dentro: así es como etiqueta los archivos. El @ marca el final de la lista de etiquetas y es obligatorio.
$ cp first_contact.avi ~/myfiles/store/startrek/@
$ cp the_return_of_the_jedi.avi ~/myfiles/store/starwars/@
Encuentra tus archivos por etiquetas
Componga su consulta de búsqueda eligiendo todas las etiquetas que desee. Incluso puede combinar los resultados de más de una consulta colocando un + / en medio, como en startrek / + / starwars / que combina los archivos etiquetados startrek con los archivos etiquetados starwars.
$ ls ~/myfiles/store/startrek/@
first_contact.avi
$ ls ~/myfiles/store/startrek/+/starwars/@
first_contact.avi
the_return_of_the_jedi.avi
Activar relaciones entre etiquetas
$ 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 comprende varias relaciones:
- incluye: Si A incluye B, cualquier archivo etiquetado como B se puede encontrar automáticamente dentro de A.
- excluye: si A excluye a B, no se puede encontrar ningún archivo etiquetado como B dentro de A, incluso si está etiquetado como A.
- es_equivalente: si A es equivalente a B, entonces todos los archivos en A están disponibles en B y viceversa.
¡Y aún hay más!
Etiquetar directorios completos
$ 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 Tagsistant puede etiquetar directorios completos. El directorio en sí será etiquetado, no los archivos dentro, ahorrando espacio en la etiqueta db.
Usa etiquetas triples
$ 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/@
Las etiquetas triples son etiquetas avanzadas formadas por un espacio de nombres (terminado por dos puntos) que identifica el dominio de interés de la etiqueta, una clave que califica la etiqueta, un operador (eq para igualdad, gt para mayor que, lt para menor que e inc para incluye), y finalmente un valor que cuantifica la etiqueta.
Este me parece el enfoque más consistente y elegante para el etiquetado de archivos en Linux. Ha existido durante más de 10 años, por lo que también es una solución madura, sin el riesgo de desaparecer pronto.