Fdupes
fdupes ist ein Programm zum Identifizieren doppelt vorhandener Dateien im der angegeben Verzeichnis
Beschreibung
- fdupes durchsucht vorgegebene Verzeichnisse und sucht Dateien mit gleichen Hash-Wert.
- Werden Dateien mit gleichen Hash-Wert gefunden, werden diese noch bitweise mit einander verglichen.
- fdupes ist in den Debian-Repositories vorhanden und kann mit aptitude install fdupes installiert werden.
Verwendung
$ fdupes [Optionen] VERZEICHNIS...
Anwendungen
$ fdupes -rHdf /tmp/bsi/
$ fdupes -rHdfN /media/daten/kurse/
Um Duplikate zu finden, müssen Sie nur:
$ fdupes /path/to/some/directory
Dieser Befehl sucht nur im Verzeichnis, das als Argument angegeben wurde, und druckt die Liste der doppelten Dateien aus (falls vorhanden). Wenn Sie auch in Unterverzeichnisse suchen, müssen Sie die Option "-r" hinzufügen, die für "rekursiv" steht.
Und was, wenn Sie die Größe von Dateien sehen möchten?
$ fdupes -S /path/to/some/directory
Sie können mehr als ein Verzeichnis angeben:
$ fdupes /path/to/first/directory /path/to/second/directory
und so weiter.
Wenn Sie alle Duplikate löschen wollen
$ fdupes -d /path/to/directory
Dadurch wird eine Kopie beibehalten und alles andere gelöscht.
Optionen
| unix | gnu | Beschreibung |
|---|---|---|
| -r | --recurse | für jedes angegebene Verzeichnis folge den Unterverzeichnissen im Inneren angetroffen |
| -R | --recurse | für jedes nach dieser Option angegebene Verzeichnis folgen darin gefundene Unterverzeichnisse (beachten Sie das ':' at am Ende der Option, Manpage für weitere Details) |
| -s | --symlinks | folgen Symlinks |
| -H | --hardlinks | normalerweise, wenn zwei oder mehr Dateien auf dieselbe verweisen Plattenbereich werden sie als Nicht-Duplikate behandelt; Diese Option wird dieses Verhalten ändern |
| -G | --minsize=SIZE | berücksichtigt nur Dateien größer oder gleich SIZE in Bytes |
| -L | --maxsize=SIZE | berücksichtigt nur Dateien kleiner oder gleich SIZE in Bytes |
| -n | --noempty | schließt Dateien der Länge null von der Berücksichtigung aus |
| -A | --nohidden | schließt versteckte Dateien von der Betrachtung aus |
| -f | --omitfirst | lässt die erste Datei in jedem Satz von Übereinstimmungen aus |
| -S | --size | Größe der doppelten Dateien anzeigen |
| -t | --time | zeigt die Änderungszeit doppelter Dateien an |
| -m | --summarize | Duplikatinformationen zusammenfassen |
| -q | --quiet | Fortschrittsanzeige ausblenden |
| -d | --delete | fordert den Benutzer auf, Dateien aufzubewahren und alle zu löschen Andere; wichtig: unter besonderen Umständen, Daten können verloren gehen, wenn diese Option zusammen verwendet wird mit -s oder --symlinks oder bei Angabe von a bestimmtes Verzeichnis mehr als einmal; beziehen sich auf die fdupes-Dokumentation für zusätzliche Informationen |
| -P | --plain | with --delete, zeilenbasierte Eingabeaufforderung verwenden (wie bei älteren Versionen von fdupes) statt Bildschirmmodus-Schnittstelle |
| -N | --noprompt | zusammen mit --delete, bewahrt die erste Datei in jeden Satz Duplikate und löschen Sie den Rest ohne den Benutzer auffordern |
| -I | --Sofort | lösche Duplikate, wenn sie angetroffen werden, ohne Gruppieren in Sätze; impliziert --noprompt |
| -p | --permissions | berücksichtigt keine Dateien mit unterschiedlichen Besitzern/Gruppen oder Berechtigungsbits als Duplikate |
| -o | --order=BY | Auswahl der Sortierreihenfolge für die Ausgabe und das Löschen; nach Datei Änderungszeit (BY='time'; Standard), Status Zeit ändern (BY='ctime') oder Dateiname (BY='name') |
| -i | --Umkehren | der umgekehrten Reihenfolge beim Sortieren |
| -l | --log=LOGFILE | Löschoptionen für Protokolldateien in LOGFILE |
| -v | --version | fdupes-Version anzeigen |
| -h | --help | zeigt diese Hilfenachricht an |
Links
Intern
Weblinks
tmp
Anmerkungen
Sofern nicht -1 oder --sameline angegeben ist, werden doppelte Dateien aufgelistet in Gruppen zusammengefasst, wobei jede Datei in einer eigenen Zeile angezeigt wird.
- Der Gruppen werden dann durch Leerzeilen voneinander getrennt.
- Wenn -1 oder --sameline angegeben ist, werden Leerzeichen und umgekehrte Schrägstriche (\) in einem Dateinamen erscheinen, wird ein umgekehrter Schrägstrich vorangestellt.
- Für Beispiel wird "mit Leerzeichen" zu "mit\ Leerzeichen".
Bei Verwendung von -d oder --delete ist darauf zu achten, dass Sie sich gegen versehentlicher Datenverlust.
- Während keine Informationen sofort verfügbar sind verloren, die Verwendung dieser Option zusammen mit -s oder --symlink kann dazu führen, dass zu verwirrenden Informationen, die dem Benutzer angezeigt werden, wenn er dazu aufgefordert wird um Dateien aufzubewahren.
- Insbesondere könnte ein Benutzer versehentlich Behalten Sie einen symbolischen Link bei, während Sie die Datei löschen, auf die er verweist.
- Ein ähnliches Problem tritt auf, wenn ein bestimmtes Verzeichnis mehr als . angegeben wird Einmal.
- Alle Dateien in diesem Verzeichnis werden als ihre eigenen aufgelistet Duplikate, die zu Datenverlust führen, sollte ein Benutzer eine Datei aufbewahren ohne sein "Duplikat" (die Datei selbst!).
Gefahr von Hardlinks
- Hardlinks verweisen immer auf die gleiche Datei.
- Es ist somit egal von welchen Verzeichnis man auf die Datei zugreift, Änderungen an der Datei sind immer für alle Links gültig.
- Man sollte vorsichtig sein, wann man Hardlinks einsetzt.
- Wenn man eine Musiksammlung hat, in denen gleiche Musikstücke (gleich in den Bits!) mehrfach vorhanden sind weil diese z.B.: auf mehreren Sampler-CD´s angeboten werden, kann man Hardlinks durchaus verwenden um Fesplattenplatz zu sparen.
- Gleiches Gilt z.B.: auch für Fotosammlungen.
- In beiden Fällen würde man ein Musikfile oder Bild nicht ändern oder, wenn man es ändert, unter einen neuen Namen abspeichern.
- Problematisch wird es, wenn man mehrere Stände von Projekt-Dateien abspeichert, um eine Histoire eines Projektes zu haben.
- Zwar würden auch hier alle doppelten Dateien verlinkt, aber es kann vorkammen, dass man eine solche Datei in einer aktuellen Projekt-Version ändert.
- In diesen Fall würde diese Datei aber auch in allen vorherig abgespeichterten Versionen geändert.
- Somit wäre zuvor abgespeicherten Projekt-Stände verfälscht, da sie nicht dem ursprünglichen Stand entsprechen.