Vraag Bestanden labelen op Ubuntu


Hoe kun je tags instellen op bestanden op Ubuntu?

Ik wil allerlei soorten bestanden taggen:

  • Afbeeldingen
  • audio
  • Tekst
  • Kantoor
  • directories

De enige oplossing die ik vond was MetaTracker.

Maar dit project lijkt dood.

Hoe kan ik dit bureaubladprobleem oplossen?

Het zou geweldig zijn als je deze tags zou kunnen synchroniseren met een server zoals nextcloud.


10
2017-09-27 05:37


oorsprong


geprobeerd tracker, maar het lijkt erg gebroken - Anona112
Wat is er mis met deze q + a: askubuntu.com/questions/827701/... ? - Rinzwind
@Rinzwind bedankt voor het verwijzen naar vraag 827701. De bovenste oplossing zou moeten werken. Maar ik vraag me af waarom deze scripting nodig is. Waarom is er geen gebruiksklare toepassing? De Linux-bibliotheken zijn echt geweldig. Het mist niet veel, alleen wat polijsten en linux kunnen concurreren met appelproducten. Maar het lijkt erop dat linuxfreaks dol zijn op details, ze geven om details, maar het gebruik op hoog niveau van gemiddelde niet-geekgebruikers ... niemand bekommert zich hierom. Het is zielig. - guettli
Naar mijn mening concurreert Linux al met Apple-producten (en wint elke keer). Ik denk gewoon niet dat taggen zo belangrijk is omdat niemand er echt serieus om vraagt. - Kaz Wolfe
@KazWolfe Ja, je hebt gelijk, niemand vraagt ​​erom. Ik vind dit citaat leuk: "Als ik mensen had gevraagd wat ze wilden, zouden ze snellere paarden hebben gezegd." - Henry Ford. Wat ik wil zeggen: als er een betrouwbare tag-api beschikbaar zou zijn op alle distributies, zou veel codeduplicatie kunnen worden verwijderd. Hetzelfde probleem wordt steeds weer opgelost. Toepassingen voor fotobeheer doen het, muziekspelers doen het, ubuntu zoeken (liggend) doet het ... - guettli


antwoorden:


De beste manier lijkt het tagging-bestandssysteem te zijn tagsistant.

Vanaf de startpagina:

Tagsistant is een op tags gebaseerd bestandssysteem voor Linux dat mappen omzet   in tags en zoek uw bestanden voor u.

Mount Tagsistant

Vertel gewoon de naam van de map die u wilt gebruiken, voor   voorbeeld mijnbestanden / in uw huis. Deze map is nu een speciale plaats   met aangepaste regels die u helpen bij het beheren van uw bestanden.

$ tagsistant ~/myfiles
$

Maak je tags

Denk aan mappen onder tags / als witte stickers schrijf je iets   bovenop. Maak zoveel tags als je nodig hebt, klaar om je bestanden te markeren.

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

Tag je bestanden

Na het maken van een tag in tags /, zal deze beschikbaar zijn in store /. Kopiëren   uw bestanden erin: zo labelt u bestanden. De @ markeert het einde van   de taglijst en deze is verplicht.

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

Vind uw bestanden op tags

Stel uw zoekopdracht samen door zoveel mogelijk tags te kiezen. Jij kan   combineer zelfs de resultaten van meer dan één zoekopdracht door een + / in te plaatsen   between, zoals in startrek / + / starwars / die de getagde bestanden samenvoegt   startrek met de bestanden met de tag starwars.

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

Activeer relaties tussen 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 begrijpt verschillende relaties:

  • bevat: Als A B bevat, kan elk bestand dat is gecodeerd als B automatisch binnen A. worden gevonden
  • sluit uit: als A B uitsluit, kan een bestand met de tag B niet binnen A worden gevonden, zelfs als het is getagd als A.
  • is_equivalent: als A gelijk is aan B, dan zijn alle bestanden in A beschikbaar in B en omgekeerd.

En er is nog meer!

Tag volledige mappen

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

Met een tag kunt u hele mappen taggen. De map zelf   wordt getagged, niet de bestanden erin, waardoor ruimte wordt bespaard in de tag db.

Gebruik drievoudige tags

$ 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/@

Drievoudige tags zijn geavanceerde tags die worden gevormd door een naamruimte (beëindigd door een   colon) die het interessegebied van het label identificeert, een sleutel die   kwalificeert de tag, een operator (eq voor gelijkheid, gt voor groter dan,   Het voor minder dan en meer voor omvat), en tot slot een waarde die   kwantificeert de tag.

Dit lijkt mij de meest consistente en elegante benadering voor het taggen van bestanden op Linux. Het bestaat al meer dan 10 jaar, dus het is ook een volwassen oplossing, zonder het risico van snel verdwijnen.


5
2018-06-26 16:24





Een soortgelijke vraag werd eerder gesteld: Selecteren van bestanden uit verschillende mappen

Is het mogelijk in nautilus om een ​​aantal bestanden uit een map te selecteren,   ga dan naar een andere map en voeg wat meer bestanden toe aan de selectie?

Het geaccepteerde antwoord met 6 opwaarderingen was "Nee, helaas is dit niet mogelijk.".

Ik weiger om ontmoedigd te worden en schreef een bash-script om het probleem aan te pakken.


Bafman begint

In antwoord op de vraag die ik heb ontwikkeld bafman (Born Again File Manager) dat slechts enigszins succesvol was omdat er weinig interesse was voor het antwoord.

Er zijn 13 schermen in het antwoord, dus hier is er een om je het idee te geven:

bafman 12

Bafman retourneert

De bash-code werd gepost in een afzonderlijk antwoord onder de eerste, maar herzieningen maakten het te groot om binnen de 30K-limiet te passen, zodat het antwoord werd verwijderd. Als iemand geïnteresseerd is in het bash-script, wil ik het project graag opnieuw laten opduiken en in github plaatsen.


4
2018-06-26 23:27



Deze vraag gaat over het taggen van bestanden. Dit betekent dat de tags een reboot moeten overleven. Ik denk dat de oplossing in jouw antwoord niet bij de vraag past. - guettli
@guettli De tags blijven opnieuw opstarten en worden opgeslagen in .bafmanDirs en .bafmanFiles. - WinEunuuchs2Unix
Het spijt me, ik lees te snel. Je hebt een tool ontwikkeld genaamd bafman. Ik weet niet of coderen het juiste is. Misschien is een overeenkomst en een eenvoudige specificatie nodig. Maar wie zou dat moeten afspreken? De kabouter-ontwikkelaars? - guettli
@guettli Onze zustersite Software Engineering heeft mensen discussies over veranderingen in Gnome Nautilus. Bijvoorbeeld deze vraag: softwareengineering.stackexchange.com/questions/149824/... Misschien wil je je daar aanmelden en hier je eigen idee posten? Wat betreft tags die bewegen wanneer het bestand wordt verplaatst, is de enige manier die ik kan bedenken een leeg bestandseigenschappenveld te gebruiken, zoals 'Geboortedatum' en het te maskeren met de vlaggen. Dat zal de geboortedatum er wel leuk uit laten zien als het wordt vermeld. Hoewel inactief, wordt het veld met geboortedata binnenkort gebruikt door nieuwere apps. - WinEunuuchs2Unix


Als de bestanden die u wilt labelen, worden gehost in Nextcloud voor het delen van bestanden, dan kunt u gebruiken de app Nextcloud-bestanden voor geautomatiseerde tags samen met handmatige tagging.

Geautomatiseerde tagging

De officiële beschrijving luidt:

Een app voor Nextcloud die automatisch tags toewijst aan nieuw geüpload   bestanden op basis van een aantal voorwaarden.

De tags kunnen later worden gebruikt om de bewaring te regelen, toegang tot bestanden,   automatische scriptuitvoering en meer.

enter image description here

Het werkt voor Nextcloud 12 en 13.

Om tags te definiëren, kunnen beheerders een reeks regels maken en beheren   groepen. Elke regelgroep bestaat uit een of meer regels gecombineerd door   operators. Regels kunnen criteria bevatten zoals bestandstype, grootte, tijd en   meer. Een aanvraag komt overeen met een groep als alle regels evalueren naar waar. Op   het uploaden van een bestand worden alle gedefinieerde groepen geëvalueerd en bij het matchen,   de gegeven tags worden toegewezen aan het bestand.

Handmatig taggen

En hier kun je zien hoe het handmatig taggen van bestanden is beschikbaar sinds Owncloud / Nextcloud 9.x met behulp van bestandsbeheer in de webweergave.

GOTCHA

Als u de tags wilt doorzoeken via de Ubuntu-desktopbestandsbeheerder, dan werkt dit misschien niet, tenzij u WebDAV gebruikt om de netwerkshare te mounten en iets met de Nextcloud WebDAV API.


2
2017-07-03 00:31



Vreemd maar waar, ik vond alleen officiële documenten op nextcloud.com over automatisch taggen, maar niet over handmatig taggen. Ben ik blind? - guettli


Ik moest ook bestanden labelen en besloot dat als ik geen ingebouwde manier had om het te doen, ik mijn tags zou implementeren in de bestandsnamen van bestanden. Op die manier heb je de volledige kracht van bash-expressies om te zoeken naar bestanden met bepaalde tags, er is geen probleem met cp en mv, enz. De tags kwijtraken, en de tags zijn zichtbaar in een gui-bestandsbeheerder.

U zou bijvoorbeeld kunnen besluiten om (tag1, tag2 ...) "toe te voegen" aan het einde van elk van de bestandsnamen.

Bewerken: dit beviel me goed waar mijn tags meer waren om aan te geven dat het lid was van een of meer van de drie groepen. Voor een algemenere tagtoepassing zou een eenvoudigere syntaxis om te gebruiken (met bash enz.) Aan het einde van bestandsnamen zoiets als "bestandsnaam! Tag1! Tag2" kunnen zijn.


0
2018-06-26 12:06



Ja, dit is een werkende work-around. Maar het is een work-around. Geen oplossing, geen plan en geen doel. - guettli
Inderdaad. Een probleem is dat als u de tags van een bestand wijzigt, de bestandsnaam verandert, dus als een script verwijst naar het bestand dan breekt dat tenzij u de vooruitziende blik had om naar het bestand te verwijzen op een manier die een willekeurig aantal tags mogelijk maakt de bestandsnaam van het bestand. - B.Tanner
@ B.Tanner U kunt het naamgevingsprobleem vermijden door niet-getagde bestandsnamen te gebruiken en de tags toe te voegen door hard gelinkte, getagde bestandsnamen te maken. Scripts moeten de niet-gecodeerde bestandsnamen onafhankelijk van de tagging gebruiken. - muclux
@muclux bedankt, ja geweldig idee. Voor mij persoonlijk is het alleen maar een theoretisch probleem (ik heb geen scripts die werken op de "getagde" bestanden) maar ik heb altijd een enigszins ongemakkelijk gevoel gehad over het wijzigen van de naam van het bestand. Dit kan een goede manier zijn om de tags gescheiden te houden van de daadwerkelijke bestanden. Zal moeten nadenken over de gevolgen van de back-up ... - B.Tanner