Ich habe zwei Ordner mit verschiedenen Dateien. Einige Dateien aus dem ersten Ordner haben eine exakte Kopie im zweiten Ordner. Ich möchte diese durch einen festen Link ersetzen. Wie kann ich das machen?
20
Ich habe zwei Ordner mit verschiedenen Dateien. Einige Dateien aus dem ersten Ordner haben eine exakte Kopie im zweiten Ordner. Ich möchte diese durch einen festen Link ersetzen. Wie kann ich das machen?
Antworten:
Ich kenne 4 Kommandozeilenlösungen für Linux. Mein bevorzugter ist der letzte, der hier aufgelistet ist
rdfind
, da alle verfügbaren Optionen vorhanden sind.fdupes
Beispielausgabe (mit den Optionen "Größe anzeigen", "rekursiv"):
Hardlink
--dry-run
Option.Beispielausgabe (beachten Sie, dass meine beiden Dateien geringfügig unterschiedliche Änderungszeiten haben, sodass ich sie im zweiten Durchgang anweise, dies zu ignorieren):
duff
Beispielausgabe (mit Option "rekursiv"):
rdfind
find
?).Beispielausgabe:
quelle
Duplicate Commander ist eine mögliche Lösung unter Windows:
Für Linux können Sie ein Bash - Skript finden hier .
quelle
Duplicate & Same File Searcher ist eine weitere Lösung unter Windows:
quelle
Ich hatte ein raffiniertes kostenloses Tool auf meinem Computer namens Link Shell Extension. Es war nicht nur großartig, um harte Links und symbolische Links zu erstellen, sondern auch Junctions! Darüber hinaus wurden benutzerdefinierte Symbole hinzugefügt, mit denen Sie auf einfache Weise verschiedene Arten von Links identifizieren können, auch solche, die bereits vor der Installation vorhanden waren. Rote Pfeile stehen beispielsweise für harte Links, während grüne für symbolische Links und Ketten für Kreuzungen stehen.
Ich habe die Software leider vor einiger Zeit deinstalliert (bei einer Massen-Deinstallation verschiedener Programme), daher kann ich keine Links mehr manuell erstellen, aber die Symbole werden immer dann automatisch angezeigt, wenn Windows einen Hard-, Symbolic- oder Junction-Link erkennt.
quelle
Ich kann jdupes nur empfehlen . Es ist eine erweiterte Gabelung von fdupes , enthält aber auch:
--linkhard
, oder-L
kurz gesagtFür Ihre Frage können Sie einfach ausführen
$ jdupes -L /path/to/your/files
.Möglicherweise möchten Sie die neueste Quelle von ihrem GitHub-Repo klonen und erstellen, da sich das Projekt noch in der aktiven Entwicklung befindet. Hier werden auch Windows-Binärdateien bereitgestellt. Gepackte Binärdateien sind in einigen Linux / BSD-Distributionen verfügbar - eigentlich habe ich sie zum ersten Mal gefunden
$ apt search
.quelle