Markieren von Dateien unter Ubuntu

10

Wie können Sie Tags für Dateien unter Ubuntu setzen?

Ich möchte alle Arten von Dateien markieren:

  • Bilder
  • Audio
  • Text
  • Büro
  • Verzeichnisse

Die einzige Lösung, die ich gefunden habe, war MetaTracker .

Aber dieses Projekt scheint tot zu sein.

Wie kann ich dieses Desktop-Problem lösen?

Es wäre umwerfend, wenn Sie diese Tags mit einem Server wie nextcloud synchronisieren könnten.

guettli
quelle
1
versuchte Tracker, aber es scheint sehr kaputt
Anona112
1
Was ist falsch an diesem q + a: askubuntu.com/questions/827701/… ?
Rinzwind
1
@Rinzwind danke, dass Sie auf Frage 827701 hingewiesen haben. Die oberste Lösung dort sollte funktionieren. Aber ich frage mich, warum dieses Skript benötigt wird. Warum gibt es keine gebrauchsfertige Anwendung? Die Linux-Bibliotheken sind wirklich großartig. Es fehlt nicht viel, nur etwas Polieren und Linux könnten mit Apfelprodukten konkurrieren. Aber es scheint, dass Linux-Freaks Details lieben, sie kümmern sich um Details, aber der Anwendungsfall auf hohem Niveau von durchschnittlichen Nicht-Geek-Benutzern ... das interessiert niemanden. Es ist traurig.
Guettli
2
Meiner Meinung nach konkurriert Linux bereits mit Apple-Produkten (und gewinnt jedes Mal). Ich denke einfach nicht, dass das Markieren so wichtig ist, weil niemand wirklich ernsthaft danach fragt.
Kaz Wolfe
2
@ KazWolfe ja, du hast recht niemand fragt danach. Ich mag dieses Zitat: "Wenn ich die Leute gefragt hätte, was sie wollten, hätten sie schnellere Pferde gesagt." - Henry Ford. Was ich sagen möchte: Wenn auf allen Distributionen eine zuverlässige Tagging-API verfügbar wäre, könnten viele Codeduplikationen entfernt werden. Das gleiche Problem wird immer wieder gelöst. Fotomanagement-Anwendungen machen es, Musik-Player machen es, Ubuntu-Suche (Bindestrich) macht es ...
Guettli

Antworten:

5

Der beste Weg scheint das tagging-Dateisystem tagsistant zu sein .

Von der Homepage:

Tagsistant ist ein tagbasiertes Dateisystem für Linux, das Verzeichnisse in Tags umwandelt und Ihre Dateien nach Ihnen durchsucht.

Mount Tagsistant

Teilen Sie Tagsistant einfach den Namen des Verzeichnisses mit, das Sie verwenden möchten, z. B. myfiles / in Ihrem Zuhause. Dieses Verzeichnis ist jetzt ein besonderer Ort mit benutzerdefinierten Regeln, mit denen Sie Ihre Dateien verwalten können.

$ tagsistant ~/myfiles
$

Erstellen Sie Ihre Tags

Denken Sie an Verzeichnisse unter Tags / als weiße Aufkleber, auf die Sie etwas schreiben. Erstellen Sie so viele Tags, wie Sie benötigen, und markieren Sie Ihre Dateien.

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

Kennzeichnen Sie Ihre Dateien

Nachdem Sie ein Tag in tags / erstellt haben, ist es im Geschäft / verfügbar. Kopieren Sie Ihre Dateien darin: So markieren Sie Dateien. Das @ markiert das Ende der Tag-Liste und ist erforderlich.

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

Finden Sie Ihre Dateien anhand von Tags

Verfassen Sie Ihre Suchanfrage, indem Sie so viele Tags auswählen, wie Sie möchten. Sie können sogar die Ergebnisse mehrerer Abfragen kombinieren, indem Sie ein + / dazwischen platzieren, wie in startrek / + / starwars /, wodurch die mit startrek gekennzeichneten Dateien mit den mit starwars gekennzeichneten Dateien zusammengeführt werden.

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

Aktivieren Sie die Beziehungen zwischen 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 versteht mehrere Zusammenhänge:

  • enthält: Wenn A B enthält, wird jede mit B gekennzeichnete Datei automatisch in A gefunden.
  • Ausschlüsse: Wenn A B ausschließt, kann eine mit B gekennzeichnete Datei nicht in A gefunden werden, selbst wenn sie mit A gekennzeichnet ist.
  • is_equivalent: Wenn A gleich B ist, sind alle Dateien in A in B verfügbar und umgekehrt.

Und es gibt noch mehr!

Kennzeichnen Sie ganze Verzeichnisse

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

Mit Tagsistant können Sie ganze Verzeichnisse markieren. Das Verzeichnis selbst wird markiert, nicht die darin enthaltenen Dateien, wodurch Platz in der Tag-Datenbank gespart wird.

Verwenden Sie dreifache 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/@

Dreifache Tags sind erweiterte Tags, die durch einen Namespace (abgeschlossen durch einen Doppelpunkt) gebildet werden, der die interessierende Domäne des Tags identifiziert, einen Schlüssel, der das Tag qualifiziert, einen Operator (Gleichung für Gleichheit, gt für größer als, lt für kleiner als und inc für Includes) und schließlich einen Wert, der das Tag quantifiziert.

Dies scheint mir der konsistenteste und eleganteste Ansatz für das Taggen von Dateien unter Linux zu sein. Es gibt es seit mehr als 10 Jahren, daher ist es auch eine ausgereifte Lösung, ohne das Risiko, bald zu verschwinden.

emk2203
quelle
4

Eine ähnliche Frage wurde zuvor gestellt: Auswählen von Dateien aus verschiedenen Ordnern

Ist es in nautilus möglich, eine Reihe von Dateien aus einem Ordner auszuwählen, dann in einen anderen Ordner zu wechseln und der Auswahl weitere Dateien hinzuzufügen?

Die akzeptierte Antwort mit 6 Stimmen lautete "Nein, leider ist das nicht möglich." .

Ich weigerte mich, mich davon abbringen zu lassen und schrieb ein Bash-Skript, um das Problem anzugehen.


Bafman beginnt

Als Antwort auf die von mir entwickelte Frage bafman(Born Again File Manager) war dies nur einigermaßen erfolgreich, da das Interesse an der Antwort gering war.

Die Antwort enthält 13 Bildschirme. Hier ist einer davon, um Ihnen die Idee zu geben:

bafman 12

Bafman kehrt zurück

Der Bash-Code wurde in einer separaten Antwort unter der ersten veröffentlicht, aber durch Überarbeitungen wurde er zu groß, um in das 30-KB-Limit zu passen, sodass die Antwort gelöscht wurde. Wenn sich jemand für das Bash-Skript interessiert, würde ich das Projekt gerne wiederbeleben und in Github veröffentlichen.

WinEunuuchs2Unix
quelle
Bei dieser Frage geht es um das Markieren von Dateien. Dies bedeutet, dass die Tags einen Neustart überleben sollten. Ich denke, die Lösung in Ihrer Antwort passt nicht zur Frage.
Guettli
@guettli Die Tags überleben Neustarts und werden in .bafmanDirsund gespeichert .bafmanFiles.
WinEunuuchs2Unix
Es tut mir leid, ich habe zu schnell gelesen. Sie haben ein Tool namens bafman entwickelt. Ich bin mir nicht sicher, ob Codierung hier das Richtige ist. Vielleicht wäre eine Vereinbarung und eine einfache Spezifikation erforderlich. Aber wer sollte zustimmen? Die Gnomenentwickler?
Guettli
@guettli Auf unserer Schwesterseite Software Engineering diskutieren Leute über Änderungen an Gnome Nautilus. Zum Beispiel diese Frage: softwareengineering.stackexchange.com/questions/149824/… Vielleicht möchten Sie sich dort anmelden und von hier aus Ihre eigene Idee veröffentlichen? Was Tags betrifft, die beim Verschieben der Datei verschoben werden, kann ich mir nur vorstellen, ein leeres Dateiattributfeld wie "Geburtsdatum" zu verwenden und es mit den Flags zu maskieren. Das wird das Geburtsdatum lustig aussehen lassen, wenn es aufgelistet ist. Obwohl inaktiv, wird das Feld für das Geburtsdatum bald von neueren Apps verwendet.
WinEunuuchs2Unix
2

Wenn die Dateien, die Sie markieren möchten, zur Dateifreigabe in Nextcloud gehostet werden, können Sie die App zum automatischen Markieren von Nextcloud-Dateien zusammen mit dem manuellen Markieren verwenden.

Automatisiertes Tagging

Die offizielle Beschreibung lautet:

Eine App für Nextcloud, die neu hochgeladenen Dateien unter bestimmten Bedingungen automatisch Tags zuweist.

Die Tags können später verwendet werden, um die Aufbewahrung, den Dateizugriff, die automatische Skriptausführung und mehr zu steuern.

Geben Sie hier die Bildbeschreibung ein

Es funktioniert für Nextcloud 12 und 13.

Zum Definieren von Tags können Administratoren eine Reihe von Regelgruppen erstellen und verwalten. Jede Regelgruppe besteht aus einer oder mehreren Regeln, die durch Operatoren kombiniert werden. Regeln können Kriterien wie Dateityp, Größe, Zeit und mehr enthalten. Eine Anforderung entspricht einer Gruppe, wenn alle Regeln als wahr ausgewertet werden. Beim Hochladen einer Datei werden alle definierten Gruppen ausgewertet und beim Abgleich werden die angegebenen Tags der Datei zugewiesen.

Manuelle Kennzeichnung

Und hier können Sie sehen, wie die manuelle Kennzeichnung von Dateien seit Owncloud / Nextcloud 9.x mit dem Dateimanager in der Webansicht verfügbar ist.

ERWISCHT

Wenn Sie die Tags über den Ubuntu-Desktop-Dateimanager durchsuchen möchten, funktioniert dies möglicherweise nur, wenn Sie WebDAV verwenden, um die Netzwerkfreigabe bereitzustellen und etwas mit der Nextcloud WebDAV-API zu tun .

Löwe
quelle
Seltsam, aber wahr, ich habe bei nextcloud.com nur offizielle Dokumente zum automatischen Markieren gefunden, aber nicht zum manuellen Markieren. Bin ich blind
Guettli
0

Ich musste auch Dateien mit Tags versehen und entschied, dass ich meine Tags in den Dateinamen von Dateien implementieren würde, wenn keine integrierte Methode vorhanden wäre. Auf diese Weise haben Sie die volle Leistung von Bash-Ausdrücken, um nach Dateien mit bestimmten Tags zu suchen. Es gibt kein Problem, dass cp und mv usw. die Tags verlieren, und die Tags werden in einem GUI-Dateimanager angezeigt.

Sie können beispielsweise festlegen, dass am Tag jedes Dateinamens (tag1, tag2 ...) "hinzugefügt wird.

Bearbeiten: Dies passte gut zu mir, wenn meine Tags eher die Dateimitgliedschaft einer oder mehrerer von drei Gruppen anzeigen. Für eine allgemeinere Tag-Anwendung wäre eine einfachere Syntax (mit Bash usw.) am Ende von Dateinamen etwa "Dateiname! Tag1! Tag2".

B.Tanner
quelle
Ja, dies ist eine Problemumgehung. Aber es ist eine Umgehung. Keine Lösung, kein Plan und kein Ziel.
Guettli
Es ist wirklich. Ein Problem dabei ist, dass sich der Dateiname ändert, wenn Sie die Tags einer Datei ändern. Wenn also beispielsweise ein Skript auf die Datei verweist, wird dies unterbrochen, es sei denn, Sie hatten die Voraussicht, auf die Datei so zu verweisen, dass eine beliebige Anzahl von Tags danach zulässig ist der Basisdateiname.
B.Tanner
@ B.Tanner Sie können das Umbenennungsproblem vermeiden, indem Sie Dateinamen ohne Tags verwenden und die Tags hinzufügen, indem Sie fest verknüpfte Dateinamen mit Tags erstellen. Skripte sollten die Dateinamen ohne Tags verwenden, um unabhängig von der Markierung zu sein.
Muclux
@ Muclux danke, ja tolle Idee. Für mich persönlich ist es nur ein theoretisches Problem (ich habe keine Skripte, die mit den "getaggten" Dateien arbeiten), aber ich hatte immer ein etwas unangenehmes Gefühl, den Namen der Datei zu ändern. Dies kann eine gute Möglichkeit sein, die Tags von den eigentlichen Dateien zu trennen.
Muss