Najlepszym sposobem wydaje się być tagowanie systemu plików tagi .
Ze strony głównej:
Tagsistant to oparty na znacznikach system plików dla Linuksa, który zamienia katalogi w znaczniki i wyszukuje pliki za Ciebie.
Mount Tagsistant
Po prostu powiedz Tagsistant nazwę katalogu, którego chcesz użyć, na przykład myfiles / in your home. Ten katalog jest teraz specjalnym miejscem z niestandardowymi regułami, które pomagają zarządzać plikami.
$ tagsistant ~/myfiles
$
Utwórz tagi
Pomyśl o katalogach pod tagami / jako białe naklejki, na których piszesz coś na górze. Utwórz tyle tagów, ile potrzebujesz, gotowe do oznaczenia plików.
$ mkdir ~/myfiles/tags/startrek
$ mkdir ~/myfiles/tags/starwars
$ mkdir ~/myfiles/tags/scifi
Oznacz swoje pliki
Po utworzeniu tagu w tagach /, będzie on dostępny w sklepie /. Skopiuj pliki w nim zawarte: tak otaguj pliki. Znak @ oznacza koniec listy znaczników i jest wymagany.
$ cp first_contact.avi ~/myfiles/store/startrek/@
$ cp the_return_of_the_jedi.avi ~/myfiles/store/starwars/@
Znajdź swoje pliki według tagów
Utwórz zapytanie, wybierając dowolną liczbę tagów. Możesz nawet połączyć wyniki więcej niż jednego zapytania, umieszczając znak + / między nimi, na przykład w startrek / + / starwars /, który łączy pliki oznaczone startrek z plikami oznaczonymi starwars.
$ ls ~/myfiles/store/startrek/@
first_contact.avi
$ ls ~/myfiles/store/startrek/+/starwars/@
first_contact.avi
the_return_of_the_jedi.avi
Aktywuj relacje między tagami
$ 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 rozumie kilka relacji:
- obejmuje: Jeśli A obejmuje B, każdy plik oznaczony jako B można automatycznie znaleźć wewnątrz A.
- wyklucza: Jeśli A wyklucza B, żadnego pliku oznaczonego jako B nie można znaleźć wewnątrz A, nawet jeśli jest oznaczony jako A.
- is_equivalent: Jeśli A jest równoważne B, to wszystkie pliki w A są dostępne w B i odwrotnie.
A jest jeszcze więcej!
Oznacz całe katalogi
$ 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 ... ]
Dzięki Tagstistant możesz otagować całe katalogi. Sam katalog zostanie oznaczony, a nie pliki w środku, oszczędzając miejsce w db db.
Użyj potrójnych tagów
$ 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/@
Znaczniki potrójne są zaawansowanymi znacznikami utworzonymi przez przestrzeń nazw (zakończoną dwukropkiem), która identyfikuje domenę będącą przedmiotem zainteresowania znacznika, klucz kwalifikujący znacznik, operator (równanie dla równości, gt dla wartości większej niż, lt dla mniejszej niż i inc dla obejmuje), a na koniec wartość, która określa ilościowo znacznik.
Wydaje mi się, że jest to najbardziej spójne i eleganckie podejście do oznaczania plików w systemie Linux. Jest dostępny od ponad 10 lat, więc jest to również dojrzałe rozwiązanie, bez ryzyka zniknięcia wkrótce.