Eine der häufigsten Methoden, um festzustellen, ob zwei Dateien identisch sind (vorausgesetzt, ihre Größe stimmt überein), ist die Verwendung eines Programms zum Erstellen eines " hash "(im Wesentlichen ein Fingerabdruck) einer Datei. Die häufigsten sind md5sum
und sha1sum
.
Zum Beispiel:
$ md5sum file1 file2
e0e7485b678a538c2815132de7f9e878 file1
4a14aace18d472709ccae3910af55955 file2
Wenn Sie viele Dateien überprüfen müssen, beispielsweise wenn Sie ein Verzeichnis voller Dateien von einem System auf ein anderes übertragen, können Sie die Ausgabe vom ursprünglichen System in eine Datei umleiten md5sum
/ sha1sum
Mit dieser Datei können Sie automatisch feststellen, welche Dateien unterschiedlich sind:
$ md5sum file1 file2 > MD5SUMS
... copy file1, file2, MD5SUMS across
$ md5sum --check MD5SUMS
file1: OK
file2: OK
Eine Lösung gefunden - das cmp tool das kommt mit den meisten Linux-Aromen.
quelle
Wenn ich nur wissen will, ob sie gleich sind, bevorzuge ich die Verwendung sha1sum wenn es verfügbar ist, oder md5 als ein Fallback.
Wenn ich wissen will, wie unterschiedlich sie sind oder wo sie sich unterscheiden, ist es eine Sache, sie beide durchzudrehen od ('octal dump', normalerweise mit hexadezimaler Option), um temporäre Dateien zu erstellen und diese dann zu unterscheiden.
quelle
Ich habe gerade einige Benchmarks für eine Datei mit mehr als 100 MB ausgeführt. diff war am schnellsten, während cmp an zweiter Stelle und md5sum an letzter Stelle landete.
Ich habe die Übung mit einer 4,3-GB-Datei wiederholt und musste die Datei mit dd löschen und neu erstellen, da das RAM-Caching die Ergebnisse erheblich beeinflusste.
Aufgrund dieser Ergebnisse würde ich empfehlen, die Dateien auf einen RAMFS-Mount zu verschieben und bei diff zu bleiben.
quelle