Antworten:
Eine Diskettengerätedatei ist eine Datei. Jeder Befehl, der Dateien liest, funktioniert damit.
cmp /dev/fd0 image.fat
Übergeben Sie die -lOption, wenn Sie eine Liste aller unterschiedlichen Bytes wünschen. Für den menschlichen Verzehr ist dies meistens in der Form nützlich
cmp -l /dev/fd0 image.fat | wc -l
um zu wissen, wie viele Bytes sich unterscheiden. Führen cmp -s /dev/fd0 image.fatSie es aus, wenn Sie keine Ausgabe wünschen, nur den Rückgabestatus 0, wenn die beiden Dateien identisch sind, und 1, wenn sie unterschiedlich sind.
Dies vergleicht die Bilder Byte für Byte. Wenn die Diskette und das Image Dateien enthalten und Sie nur die Dateien und nicht die Metadaten (Dateidaten usw.) oder den leeren Speicherplatz vergleichen möchten, hängen Sie die Diskette und das Image ein und vergleichen Sie die Verzeichnisbäume.
Ich habe keine Diskette mehr zu überprüfen, aber ich würde raten:
diff <( dd if=/dev/fd0 ) floppy.img
Das <( dd ..... )liest den Inhalt der Diskette und verhält sich so, als wäre es eine Datei für diff. Dann vergleicht diff es mit der Datei.
cmpist diffin diesem speziellen Fall ein Ersatz für Drop-In . Ein großes Lob an Gilles für den cmpHinweis.
<(dd if=dev/fd0) is an awfully complicated way of writing / dev / fd0 . Are you sure you didn't mean to write diff <(cat / dev / fd0 | dd if = - | tee / dev / fd / 3 3> & 1 | tr az az | tail -n +1) floppy.img ? And on top of that diff` neigt dazu, nicht mit Binärdaten umzugehen Daten gut, cmpist hier das richtige Werkzeug.
<( dd if=/dev/fd0 ). Aber OK, Sie haben Ihren Standpunkt klargestellt. Ich war mir einfach nicht sicher, ob eine Ebene /dev/fd0vom Gerät lesen würde, anstatt den Geräteknoten selbst zu überprüfen. Deshalb habe ich die schwarze Magie hinzugefügt <( ... ).
<(...)verwenden; o)