Monday 26 June 2017

Linux Vergleich 2 Dateien Binär Optionen


Ich denke, du könntest mit 3 Werkzeugen gehen: cmp ist besser für Binärdateien und Diff ist besser für Textdateien Für Binärdateien diff nur gemeldet, ob sie sich nicht unterscheiden. Diff funktioniert auch für Verzeichnisse. Jeder der ersten beiden könnte das schaffen, was man schweigend braucht. Diff verwendet den - q-Schalter und cmp benutzt den - s-Schalter, um dir nur einen Return-Code zu sagen: 0 wenn die beiden Dateien mit 1 übereinstimmen, wenn nicht. Cmp hat auch eine schöne Option zu vermeiden (Art von) Lesen der gesamten Datei (gut, wenn Sie große Dateien haben): Wenn Sie wissen, dass die Dateien in den ersten N Zeilen oder zwischen Zeile N und M können Sie tun (dh für Zeile N 10 und M 20): Ich habe md5sum zur Liste hinzugefügt, denn wenn du die Chance hast, die MD5-Prüfsumme zu berechnen, jedes Mal wenn du eine dieser Dateien editierst, dann könntest du nur das vergleichen, um schnell zu finden, ob sie übereinstimmen oder nicht. In diesem Fall gehe ich davon aus, dass du eine Menge Datei zum Vergleich hast. Antwort # 25 10 at 9: 23Unter der häufigsten Möglichkeiten zur Bestimmung, ob zwei Dateien identisch sind (vorausgesetzt, ihre Größen übereinstimmen) verwendet ein Programm, um einen Hash (im Wesentlichen einen Fingerabdruck) einer Datei zu erstellen. Die häufigsten sind md5sum und sha1sum. Wenn Sie viele Dateien haben, die Sie überprüfen müssen, z. B. wenn Sie ein Verzeichnis mit Dateien von einem System zum anderen übertragen, können Sie die Ausgabe vom ursprünglichen System in eine Datei umleiten, dann kann md5sum sha1sum diese Datei automatisch verwenden Sagen Sie, welche Dateien sind anders: beantwortet Apr 29 10 um 12:21 MD5 ist nicht immer eine zuverlässige dafür: diggsecurityhellip ndash Jon Cage Apr 29 10 um 12:30 Eigentlich ist MD5 zuverlässig für grundlegende Integritätsprüfungen. Es ist gerade nicht so kryptographisch stark, wie wir es einmal dachten. Wenn Sie sich Sorgen um Hacker machen, dann verwenden Sie MD5, aber wenn Sie nur wissen wollen, ob einige Dateien, die von einer CD kopiert wurden, beschädigt wurden oder wenn Ihr Compiler jedes Mal identische Dateien ausspuckt, ist MD5 mehr als ausreichend. Ndash Adam Batkin Apr 29 10 bei 12: 55 Ich bevorzuge VBinDiff. DHEX benutzt CPU auch im Leerlauf, ich denke, dass es die ganze Zeit neu zeichnet oder so. VBinDiff arbeitet nicht mit breiten Terminals. Aber die Adressen werden trotzdem mit breiten Terminals komisch, da man mehr als 16 Byte pro Zeile hat. Ndash Janus Troelsen Versuchen Sie diff in der folgenden Kombination von zshbash Prozess Substitution und colordiff in CLI: - y zeigt Ihnen Unterschiede Seite an Seite (optional) xxd ist CLI-Tool, um eine Hexdump-Ausgabe der Binärdatei zu erstellen File colordiff färbt diff-output (install via: sudo apt-get install colordiff) add - W200 zu diff für breiteres ausgabe, wenn dateien zu groß sind, add limit (zB - l1000) für jede xxd Methode, die für die Byte-Addition löscht. Ausgabe für Eine einzelne NUL-Byte-Entfernung am 100. Byte einer großen Datei: Wenn du auch die ASCII-Version des Charakters sehen möchtest: Tested on Ubuntu 14.04. Ich bevorzuge od über xxd weil: es ist POSIX. Xxd ist nicht (kommt mit Vim) hat die - An, um die Adresse Spalte ohne awk zu entfernen. - entfernt die Adressspalte. Dies ist wichtig, sonst würden alle Zeilen nach einer Bytezugabe abweichen. - w1 setzt ein Byte pro Zeile, so dass diff es verbrauchen kann. Es ist entscheidend, ein Byte pro Zeile zu haben, oder jede Zeile nach einer Löschung würde aus der Phase herauskommen und sich unterscheiden. Leider ist das nicht POSIX, sondern in GNU. - tx1 ist die Darstellung, die du willst, wechsle zu jedem möglichen Wert, solange du 1 Byte pro Zeile beibehältest. - v verhindert, dass Asterisk-Wiederholungsabkürzung, die die Diff-Paste - d - - verbindet, alle zwei Zeilen stört. Wir brauchen es, weil die Hex und ASCII in separate benachbarte Linien gehen. Ausgehend von: stackoverflowquestions8987257concatenating-every-other-line-mit-der-next verwenden wir parenthesis (), um bdiff zu definieren, anstatt den Umfang der inneren Funktion zu beschränken f. Siehe auch: stackoverflowquestions8426077how-to-define-a-function-inside-another-function-in-bash beantwortet Apr 4 15 at 20:31 Bei der Verwendung von Hexdumps und Text diff zum Vergleich Binärdateien, vor allem xxd. Die Hinzufügungen und Umzüge von Bytes werden zu Verschiebungen in der Adressierung, die es schwierig machen zu sehen. Diese Methode teilt xxd mit, keine Adressen auszugeben und nur ein Byte pro Zeile auszugeben, was wiederum genau zeigt, welche Bytes geändert, hinzugefügt oder entfernt wurden. Sie können die Adressen später finden, indem Sie nach den interessanten Sequenzen von Bytes in einer normaleren Hexdump (Ausgabe von xxd first. bin) suchen. Beantwortet Apr 22 15 um 12:10

No comments:

Post a Comment