Marcando arquivos no Ubuntu

11

Como você pode definir tags em arquivos no Ubuntu?

Quero marcar todos os tipos de arquivos:

  • Imagens
  • Áudio
  • Texto
  • Escritório
  • Diretórios

A única solução que encontrei foi o MetaTracker .

Mas esse projeto parece estar morto.

Como posso resolver esse problema da área de trabalho?

Seria incrível demais se você pudesse sincronizar essas tags com um servidor como o nextcloud.

guettli
fonte
1
tentei rastreador, mas parece muito quebrado
Anona112
1
O que há de errado com este q + a: askubuntu.com/questions/827701/… ?
Rinzwind 21/09
1
@Rinzwind, obrigado por apontar para a pergunta 827701. A solução mais alta deve funcionar. Mas eu me pergunto por que esse script é necessário. Por que não existe um aplicativo pronto para usar? As bibliotecas linux são realmente ótimas. Não falta muito, apenas alguns polimentos e linux podem competir com os produtos da apple. Mas parece que os malucos do Linux adoram detalhes, eles se preocupam com detalhes, mas o caso de uso de alto nível de usuários comuns que não são nerds ... ninguém se importa com isso. É triste.
guettli
2
Na minha opinião, o Linux já concorre com os produtos da Apple (e sempre vence). Eu simplesmente não acho que etiquetar é algo importante, porque ninguém realmente pede isso seriamente.
Kaz Wolfe
2
@KazWolfe sim, você está certo, ninguém pede. Gosto desta citação: "Se eu tivesse perguntado às pessoas o que elas queriam, elas teriam dito cavalos mais rápidos". - Henry Ford. O que quero dizer: Se houvesse uma API de marcação confiável disponível em todas as distribuições, muita duplicação de código poderia ser removida. O mesmo problema é resolvido repetidamente. Aplicativos de gerenciamento de foto fazê-lo, players de música fazê-lo, procurar ubuntu (traço) faz isso ...
guettli

Respostas:

5

A melhor maneira parece ser o sistema de arquivos de marcação tagsistant .

Na página inicial:

O Tagsistant é um sistema de arquivos baseado em tags para Linux que transforma diretórios em tags e pesquisa seus arquivos por você.

Mount Tagsistant

Diga ao Tagsistant o nome do diretório que você deseja usar, por exemplo, myfiles / em sua casa. Este diretório agora é um local especial com regras personalizadas que ajudam a gerenciar seus arquivos.

$ tagsistant ~/myfiles
$

Crie suas tags

Pense nos diretórios em tags / como adesivos brancos sobre os quais você escreve. 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 nas tags /, ela estará disponível na loja /. Copie seus arquivos dentro dele: é assim que você codifica arquivos. O @ marca o final da lista de tags e é obrigatório.

$ 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 + / no meio, como em startrek / + / starwars / que mescla os arquivos marcados com startrek com os arquivos marcados com 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!

Tagsistant entende várias relações:

  • inclui: Se A incluir B, qualquer arquivo marcado como B poderá ser encontrado automaticamente dentro de A.
  • exclui: se A exclui B, qualquer arquivo marcado como B não pode ser encontrado dentro de A, mesmo se marcado como A.
  • is_equivalent: Se A é equivalente a B, todos os arquivos em A estão disponíveis em B e vice-versa.

E tem ainda 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, 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 espaço para nome (terminado por dois pontos) que identifica o domínio de interesse da tag, uma chave que qualifica a tag, um operador (eq para igualdade, gt para maior que, lt para menor que e inc for inclui) e, finalmente, um valor que quantifica a tag.

Essa me parece a abordagem mais consistente e elegante para a marcação de arquivos no Linux. Ela existe há mais de 10 anos, por isso também é uma solução madura, sem o risco de desaparecer em breve.

emk2203
fonte
4

Uma pergunta semelhante foi feita anteriormente: Selecionando arquivos de pastas diferentes

É possível no nautilus selecionar um monte de arquivos de uma pasta, ir para uma pasta diferente e adicionar mais arquivos à seleção?

A resposta aceita com 6 votos positivos foi "Não, infelizmente não é possível". .

Recusando-me a ser dissuadido, escrevi um script bash para resolver o problema.


Bafman Begins

Em resposta à pergunta que desenvolvi bafman(Born Again File Manager), que teve apenas algum êxito, porque havia pouco interesse na resposta.

Existem 13 telas na resposta, então aqui está uma delas para lhe dar a ideia:

bafman 12

Retorno de Bafman

O código bash foi postado em uma resposta separada abaixo da primeira, mas as revisões o tornaram muito grande para caber dentro do limite de 30K, portanto a resposta foi excluída. Se alguém estiver interessado no script bash, ficarei feliz em ressuscitar o projeto e publicá-lo no github.

WinEunuuchs2Unix
fonte
Esta pergunta é sobre como marcar arquivos. Isso significa que as tags devem sobreviver a uma reinicialização. Penso que a solução na sua resposta não se encaixa na pergunta.
guettli
@ guettli As tags sobrevivem à reinicialização e são armazenadas em .bafmanDirse .bafmanFiles.
WinEunuuchs2Unix
Sinto muito, eu li muito rápido. Você desenvolveu uma ferramenta chamada bafman. Não tenho certeza se a codificação é a coisa certa aqui. Talvez um acordo e uma especificação simples sejam necessários. Mas quem deveria concordar? Os desenvolvedores do gnome?
guettli
@guettli Nossa Engenharia de Software irmã-site tem pessoas discutindo mudanças no Gnome Nautilus. Por exemplo, esta pergunta: softwareengineering.stackexchange.com/questions/149824/… Você pode se inscrever lá e postar sua própria idéia a partir daqui? No que diz respeito às tags que se movem quando o arquivo é movido, a única maneira de pensar é usar um campo de atributos de arquivo vazio, como "Data de Nascimento", e mascará-lo com os sinalizadores. Isso fará com que a data de nascimento pareça engraçada quando listada. Embora inativo, o campo da data de nascimento será usado em breve por aplicativos mais recentes.
WinEunuuchs2Unix
2

Se os arquivos que você deseja marcar estiverem hospedados no Nextcloud para compartilhamento de arquivos, você poderá usar o aplicativo de marcação automatizada de arquivos Nextcloud junto com a marcação manual.

Etiquetagem automatizada

A descrição oficial diz:

Um aplicativo para Nextcloud que atribui automaticamente tags a arquivos recém-carregados com base em algumas condições.

As tags podem ser usadas posteriormente para controlar a retenção, acesso a arquivos, execução automática de scripts e muito mais.

insira a descrição da imagem aqui

Funciona para o Nextcloud 12 e 13.

Para definir tags, os administradores podem criar e gerenciar um conjunto de grupos de regras. Cada grupo de regras consiste em uma ou mais regras combinadas por meio de operadores. As regras podem incluir critérios como tipo de arquivo, tamanho, hora e muito mais. Uma solicitação corresponde a um grupo se todas as regras forem avaliadas como verdadeiras. No upload de um arquivo, todos os grupos definidos são avaliados e, quando correspondentes, as tags especificadas são atribuídas ao arquivo.

Marcação manual

E aqui você pode ver como a marcação manual de arquivos está disponível desde o Owncloud / Nextcloud 9.x usando o gerenciador de arquivos na visualização da web.

PEGUEI VOCÊS

Se você deseja pesquisar as tags no gerenciador de arquivos da área de trabalho do Ubuntu, isso pode não funcionar, a menos que você use o WebDAV para montar o compartilhamento de rede e faça algo com a API Nextcloud WebDAV .

Leo
fonte
Estranho, mas verdadeiro, só encontrei documentos oficiais no nextcloud.com sobre marcação automática, mas não sobre marcação manual. Eu sou cego?
guettli
0

Eu também precisava marcar arquivos e decidi que, na ausência de uma maneira interna de fazê-lo, implementaria minhas tags nos nomes de arquivos. Dessa forma, você tem todo o poder das expressões bash para pesquisar arquivos com tags específicas, não há problema de cp e mv etc. perderem as tags, e as tags são visíveis em um gerenciador de arquivos da GUI.

Por exemplo, você pode optar por adicionar (tag1, tag2 ...) "ao final de cada um dos nomes de arquivos.

Editar: isso me serviu bem onde minhas tags eram mais para indicar participação em arquivos de um ou mais dos três grupos. Para um aplicativo de tag mais geral, uma sintaxe mais fácil de usar (com bash etc) no final dos nomes de arquivos seria algo como "nome do arquivo! Tag1! Tag2! Tag2".

B.Tanner
fonte
Sim, esta é uma solução alternativa. Mas é uma solução alternativa. Não é uma solução, nem um plano e nem uma meta.
guettli
Na verdade, é. Um problema é que, se você alterar as tags de um arquivo, o nome do arquivo será alterado; portanto, se um script referenciar o arquivo, ele será quebrado, a menos que você tenha a previsão de se referir ao arquivo de uma maneira que permita qualquer número de tags após o nome do arquivo base.
B.Tanner
@ B.Tanner Você pode evitar o problema de renomeação usando nomes de arquivos sem marcação e adicionando as tags criando nomes de arquivos marcados com links físicos. Os scripts devem usar os nomes de arquivos sem marcação para serem independentes da marcação.
muclux
@ muclux obrigado, sim, ótima idéia. Para mim, pessoalmente, é apenas um problema teórico (não tenho nenhum script que funcione nos arquivos "marcados"), mas sempre tive uma sensação um pouco desconfortável de mudar o nome do arquivo. Essa pode ser uma boa maneira de manter as tags separadas dos arquivos reais. Terá que ter um pensar sobre as implicações de backup ...
B.Tanner