Marquage de fichiers sur Ubuntu

11

Comment définir des balises sur des fichiers sur Ubuntu?

Je veux marquer toutes sortes de fichiers:

  • Images
  • l'audio
  • Texte
  • Bureau
  • Répertoires

La seule solution que j'ai trouvée était MetaTracker .

Mais ce projet semble être mort.

Comment puis-je résoudre ce problème de bureau?

Ce serait super époustouflant si vous pouviez synchroniser ces balises avec un serveur comme nextcloud.

guettli
la source
1
essayé tracker, mais il semble très cassé
Anona112
1
Quel est le problème avec ce q + a: askubuntu.com/questions/827701/… ?
Rinzwind
1
@Rinzwind merci d'avoir indiqué la question 827701. La solution la plus haute devrait fonctionner. Mais je me demande pourquoi ce script est nécessaire. Pourquoi n'y a-t-il pas d'application prête à l'emploi? Les bibliothèques Linux sont vraiment super. Il ne manque pas grand chose, juste un peu de polissage et Linux pourrait rivaliser avec les produits à base de pomme. Mais il semble que les monstres de linux aiment les détails, ils se soucient des détails, mais le cas d'utilisation de haut niveau des utilisateurs non geek moyens .... personne ne s'en soucie. C'est triste.
guettli
2
À mon avis, Linux est déjà en concurrence avec les produits Apple (et gagne à chaque fois). Je ne pense tout simplement pas que le marquage est si important parce que personne ne le demande vraiment sérieusement.
Kaz Wolfe
2
@KazWolfe oui, vous avez raison, personne ne le demande. J'aime cette citation: "Si j'avais demandé aux gens ce qu'ils voulaient, ils auraient dit des chevaux plus rapides." - Henry Ford. Ce que je veux dire: s'il y avait une API de balisage fiable disponible sur toutes les distributions, beaucoup de duplication de code pourrait être supprimée. Le même problème est résolu encore et encore. Les applications de gestion de photos le font, les lecteurs de musique le font, la recherche Ubuntu (tiret) le fait ...
guettli

Réponses:

5

Le meilleur moyen semble être le système de marquage des balises résistant aux balises .

Depuis la page d'accueil:

Tagsistant est un système de fichiers basé sur des balises pour Linux qui transforme les répertoires en balises et recherche vos fichiers pour vous.

Montage résistant aux étiquettes

Dites simplement à Tagsistant le nom du répertoire que vous souhaitez utiliser, par exemple myfiles / dans votre maison. Ce répertoire est maintenant un endroit spécial avec des règles personnalisées qui vous aident à gérer vos fichiers.

$ tagsistant ~/myfiles
$

Créez vos tags

Pensez aux répertoires sous les balises / sous forme d'autocollants blancs sur lesquels vous écrivez quelque chose. Créez autant de balises que vous le souhaitez, prêt à marquer vos fichiers.

$ mkdir ~/myfiles/tags/startrek
$ mkdir ~/myfiles/tags/starwars
$ mkdir ~/myfiles/tags/scifi

Balisez vos fichiers

Après avoir créé un tag dans les tags /, il sera disponible en magasin /. Copiez vos fichiers à l'intérieur: c'est ainsi que vous balisez les fichiers. Le @ marque la fin de la liste des balises et il est obligatoire.

$ cp first_contact.avi ~/myfiles/store/startrek/@
$ cp the_return_of_the_jedi.avi ~/myfiles/store/starwars/@

Trouvez vos fichiers par balises

Composez votre requête de recherche en choisissant autant de balises que vous désirez. Vous pouvez même combiner les résultats de plusieurs requêtes en plaçant un + / entre, comme dans startrek / + / starwars / qui fusionne les fichiers marqués startrek avec les fichiers marqués starwars.

$ ls ~/myfiles/store/startrek/@
first_contact.avi
$ ls ~/myfiles/store/startrek/+/starwars/@
first_contact.avi
the_return_of_the_jedi.avi

Activer les relations entre les balises

$ 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 comprend plusieurs relations:

  • comprend: Si A inclut B, tout fichier étiqueté comme B peut être automatiquement trouvé dans A.
  • exclut: si A exclut B, aucun fichier marqué comme B ne peut être trouvé dans A même s'il est marqué comme A.
  • is_equivalent: Si A est équivalent à B, alors tous les fichiers de A sont disponibles dans B et vice versa.

Et il y a encore plus!

Marquer des répertoires entiers

$ 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 ... ]

Avec Tagsistant, vous pouvez baliser des répertoires entiers. Le répertoire lui-même sera balisé, pas les fichiers à l'intérieur, économisant de l'espace dans la balise db.

Utilisez des tags 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/@

Les triples balises sont des balises avancées formées d'un espace de noms (terminé par deux points) qui identifie le domaine d'intérêt de la balise, une clé qui qualifie la balise, un opérateur (eq pour l'égalité, gt pour plus de, lt pour moins de et inc for includes), et enfin une valeur qui quantifie le tag.

Cela me semble l'approche la plus cohérente et la plus élégante pour le balisage de fichiers sous Linux. Il existe depuis plus de 10 ans, c'est donc une solution mature également, sans risque de disparaître rapidement.

emk2203
la source
4

Une question similaire a été posée précédemment: sélection de fichiers dans différents dossiers

Est-il possible dans nautilus de sélectionner un tas de fichiers dans un dossier, puis d'aller dans un autre dossier et d'ajouter quelques fichiers à la sélection?

La réponse acceptée avec 6 votes positifs était "Non, malheureusement ce n'est pas possible". .

Refusant d'être dissuadé, j'ai écrit un script bash pour résoudre le problème.


Bafman commence

En réponse à la question que j'ai développée bafman(Born Again File Manager) qui n'a été que quelque peu réussie car il y avait peu d'intérêt pour la réponse.

Il y a 13 écrans dans la réponse, alors voici l'un d'eux pour vous donner l'idée:

bafman 12

Le retour de Bafman

Le code bash a été publié dans une réponse distincte en dessous de la première, mais les révisions l'ont rendu trop volumineux pour tenir dans la limite de 30 Ko, de sorte que la réponse a été supprimée. Si quelqu'un s'intéresse au script bash, je serais heureux de ressusciter le projet et de le publier dans github.

WinEunuuchs2Unix
la source
Cette question concerne le balisage des fichiers. Cela signifie que les balises devraient survivre à un redémarrage. Je pense que la solution dans votre réponse ne correspond pas à la question.
guettli
@guettli Les balises survivent aux redémarrages et sont stockées dans .bafmanDirset .bafmanFiles.
WinEunuuchs2Unix
Je suis désolé, j'ai lu trop vite. Vous avez développé un outil appelé bafman. Je ne sais pas si le codage est la bonne chose ici. Peut-être qu'un accord et une simple spécification seraient nécessaires. Mais qui devrait être d'accord? Les développeurs de gnome?
guettli
@guettli Notre site partenaire en génie logiciel a des gens qui discutent des changements à Gnome Nautilus. Par exemple, cette question: softwareengineering.stackexchange.com/questions/149824/… Vous voudrez peut-être vous y inscrire et publier votre propre idée d'ici? En ce qui concerne les balises se déplaçant lorsque le fichier est déplacé, la seule façon dont je puisse penser est d'utiliser un champ d'attributs de fichier vide tel que "Date de naissance" et de le masquer avec les drapeaux. Cela rendra la date de naissance amusante lorsqu'elle sera répertoriée. Bien qu'inactif, le champ de date de naissance sera bientôt utilisé par les nouvelles applications.
WinEunuuchs2Unix
2

Si les fichiers que vous souhaitez baliser sont hébergés dans Nextcloud pour le partage de fichiers, vous pouvez utiliser l'application de balisage automatique des fichiers Nextcloud avec le balisage manuel.

Marquage automatisé

La description officielle se lit comme suit:

Une application pour Nextcloud qui attribue automatiquement des balises aux fichiers nouvellement téléchargés en fonction de certaines conditions.

Les balises peuvent ensuite être utilisées pour contrôler la rétention, l'accès aux fichiers, l'exécution automatique des scripts et plus encore.

entrez la description de l'image ici

Cela fonctionne pour Nextcloud 12 et 13.

Pour définir des balises, les administrateurs peuvent créer et gérer un ensemble de groupes de règles. Chaque groupe de règles se compose d'une ou plusieurs règles combinées via des opérateurs. Les règles peuvent inclure des critères tels que le type de fichier, la taille, l'heure et plus encore. Une demande correspond à un groupe si toutes les règles ont la valeur true. Lors du téléchargement d'un fichier, tous les groupes définis sont évalués et lors de la correspondance, les balises données sont attribuées au fichier.

Marquage manuel

Et ici, vous pouvez voir comment le balisage manuel des fichiers est disponible depuis Owncloud / Nextcloud 9.x en utilisant le gestionnaire de fichiers dans la vue Web.

JE T'AI EU

Si vous souhaitez rechercher les balises via le gestionnaire de fichiers de bureau Ubuntu, cela peut ne pas fonctionner sauf si vous utilisez WebDAV pour monter le partage réseau et faites quelque chose avec l' API Nextcloud WebDAV .

Leo
la source
Étrange mais vrai, je n'ai trouvé que des documents officiels sur nextcloud.com sur le marquage automatique, mais pas sur le marquage manuel. Suis-je aveugle?
guettli
0

J'avais également besoin de baliser les fichiers et j'ai décidé qu'en l'absence d'une manière intégrée de le faire, j'implémenterais mes balises dans les noms de fichiers des fichiers. De cette façon, vous avez toute la puissance des expressions bash pour rechercher des fichiers avec des balises particulières, il n'y a pas de problème de perte de balises cp et mv, etc., et les balises sont visibles dans un gestionnaire de fichiers gui.

Par exemple, vous pouvez décider d'ajouter (tag1, tag2 ...) "à la fin de chacun des noms de fichiers.

Edit: cela me convenait bien où mes balises étaient davantage pour indiquer l'appartenance à un ou plusieurs des trois groupes. Pour une application de balise plus générale, une syntaxe plus facile à utiliser (avec bash, etc.) à la fin des noms de fichiers serait quelque chose comme "filename! Tag1! Tag2".

B.Tanner
la source
Oui, c'est une solution de contournement. Mais c'est une solution de rechange. Pas une solution, pas un plan et pas un objectif.
guettli
En effet, ça l'est. Un problème avec cela est que si vous modifiez les balises d'un fichier, le nom de fichier change, donc si par exemple un script fait référence au fichier, cela casse à moins que vous n'ayez eu la prévoyance de faire référence au fichier d'une manière qui autorise un nombre illimité de balises après le nom de fichier de base.
B.Tanner
@ B.Tanner Vous pouvez éviter le problème de changement de nom en utilisant des noms de fichiers non balisés et en ajoutant des balises en créant des noms de fichiers balisés liés en dur. Les scripts doivent utiliser les noms de fichiers non balisés pour être indépendants du balisage.
muclux
@muclux merci, oui bonne idée. Pour moi personnellement, ce n'est qu'un problème théorique (je n'ai pas de scripts qui opèrent sur les fichiers "balisés") mais j'ai toujours eu un sentiment un peu gêné de changer le nom du fichier. Cela pourrait être un bon moyen de séparer les balises des fichiers réels. Devra avoir une réflexion sur les implications de la sauvegarde ...
B.Tanner