Konzentrieren Sie sich auf sehr große Dateien

Konzentrieren Sie sich auf sehr große Dateien

Ich habe zwei sehr große Dateien (27 GB und 40 GB), die die Ausgabe eines ddBefehls auf einer defekten Festplatte sind. Ich wollte die ersten Bytes vergleichen, um zu sehen, ob die 27 GB-Bytes der Anfang/Teilstring der 40 GB-Bytes sind.

Ich wollte den Befehl verwenden head. Da diese Dateien binär sind, habe ich -cdas Argument verwendet:

# ls -ahl *.dd
-rw-r--r-- 1 root root 40G May 17 20:16 mac.dd
-rw-r--r-- 1 root root 27G May 18 09:47 mac2.dd

Versuch, 1 KB Rohdaten zu erhalten:

# head -c1K mac.dd
(returns nothing)

Versuch, mit Hexdump 1K zu erreichen:

# head -c1K mac.dd | hexdump
0000000 0000 0000 0000 0000 0000 0000 0000 0000
*
0000400
(end)

Versuch, mit Hexdump 10.000 zu bekommen:

# head -c10K mac.dd | hexdump
0000000 0000 0000 0000 0000 0000 0000 0000 0000
*
0002800
(end)

Obwohl:

Versuch, 100 Byte Rohdaten auf /bin/ls abzurufen:

# head -c100 /bin/ls 
ELF>�H@@p�@8    @@@@@@�

Versuch, 100 Byte Hex-Daten auf /bin/ls abzurufen:

# head -c100 /bin/ls | hexdump
0000000 457f 464c 0102 0001 0000 0000 0000 0000
0000010 0002 003e 0001 0000 4880 0040 0000 0000
0000020 0040 0000 0000 0000 b670 0001 0000 0000
0000030 0000 0000 0040 0038 0009 0040 001c 001b
0000040 0006 0000 0005 0000 0040 0000 0000 0000
0000050 0040 0040 0000 0000 0040 0040 0000 0000
0000060 01f8 0000                              
0000064

Die Ergebnisse auf mac2.dd sind genau dieselben, aber die Ausgabe scheint nicht ganz das zu sein, was ich erwarte. Ich glaube also nicht, dass dies bedeutet, dass die Dateien mit denselben Daten beginnen. Ich /bin/lshabe die Binärdatei „Head on“ erwartet.

Ich verstehe diese Dateiausgabe nicht dd. Kann mir das bitte jemand erklären?

Danke schön.

Antwort1

Ich antworte selbst.

Ich erfuhr vondieser Beitrag, dass das " *" in Hexdump "dasselbe wie vorherige Zeile" bedeutet. Das bedeutet, dass meine ganze ddDatei mit \0Zeichen gefüllt ist.

Ich kann es folgendermaßen deutlich machen:

head -c1000 mac.dd | hexdump -v
0000000 0000 0000 0000 0000 0000 0000 0000 0000
0000010 0000 0000 0000 0000 0000 0000 0000 0000
0000020 0000 0000 0000 0000 0000 0000 0000 0000
0000030 0000 0000 0000 0000 0000 0000 0000 0000
0000040 0000 0000 0000 0000 0000 0000 0000 0000
[...]

Oder kürzer:

# hexdump -v -n1000 mac.dd
0000000 0000 0000 0000 0000 0000 0000 0000 0000
0000010 0000 0000 0000 0000 0000 0000 0000 0000
0000020 0000 0000 0000 0000 0000 0000 0000 0000
0000030 0000 0000 0000 0000 0000 0000 0000 0000
0000040 0000 0000 0000 0000 0000 0000 0000 0000
[...]

Jetzt weiß ich, dass die ddMüllhalde mit nichts gefüllt ist.

Vielen Dank an alle, die mein Problem bis hierher durchgelesen haben.

verwandte Informationen