A melhor maneira parece ser o sistema de marcação de tags tagsistant .
Na página inicial:
Tagsistant é um sistema de arquivos baseado em tags para Linux que transforma diretórios em tags e pesquise seus arquivos para você.
Mount Tagsistant
Basta informar o nome do diretório que você deseja usar, para exemplo myfiles / em sua casa. Este diretório agora é um lugar especial com regras personalizadas que ajudam você a gerenciar seus arquivos.
$ tagsistant ~/myfiles
$
Crie suas tags
Pense nos diretórios em tags / como adesivos brancos que você escreve algo Em cima de. Crie quantas tags você precisar, pronto para marcar seus arquivos.
$ mkdir ~/myfiles/tags/startrek
$ mkdir ~/myfiles/tags/starwars
$ mkdir ~/myfiles/tags/scifi
Marque seus arquivos
Depois de criar uma tag em tags /, ela estará disponível na loja /. cópia de seus arquivos dentro dele: é assim que você marca os arquivos. O @ marca o final de a lista de tags e é obrigatória.
$ cp first_contact.avi ~/myfiles/store/startrek/@
$ cp the_return_of_the_jedi.avi ~/myfiles/store/starwars/@
Encontre seus arquivos por tags
Componha sua consulta de pesquisa escolhendo quantas tags desejar. Você pode até combinar os resultados de mais de uma consulta colocando um + / em entre, como em startrek / + / starwars / que mescla os arquivos marcados startrek com os arquivos marcados como starwars.
$ ls ~/myfiles/store/startrek/@
first_contact.avi
$ ls ~/myfiles/store/startrek/+/starwars/@
first_contact.avi
the_return_of_the_jedi.avi
Ativar relações entre 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!
O tagsistant entende várias relações:
- inclui: Se A incluir B, qualquer arquivo marcado como B pode ser encontrado automaticamente dentro de A.
- exclui: Se A exclui B, qualquer arquivo marcado como B não pode ser encontrado dentro de um mesmo que seja marcado como A.
- is_equivalent: Se A for equivalente a B, então todos os arquivos em A estarão disponíveis em B e vice-versa.
E ainda há mais!
Marcar diretórios inteiros
$ 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 ... ]
Com o Tagsistant você pode marcar diretórios inteiros. O diretório em si será marcado, não os arquivos dentro, economizando espaço na tag db.
Use tags triplas
$ 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/@
Tags triplas são tags avançadas formadas por um namespace (terminadas por um cólon) que identifica o domínio de interesse da tag, uma chave que qualifica a tag, um operador (eq para igualdade, gt para maior que, por menos que e inc para includes), e finalmente um valor que quantifica a tag.
Essa parece-me a abordagem mais consistente e elegante para a marcação de arquivos no Linux. Está aí há mais de 10 anos, por isso é uma solução madura também, sem o risco de desaparecer em breve.