Durch das Ausfüllen einer Datei wird der ursprüngliche Dateiname als Teil des Ausgabe-Headers gespeichert.
(Standardmäßig wird auch die Änderungszeit gespeichert, sodass sich auch zwei identisch erstellte .gz-Dateien unterscheiden können.)
Ich schreibe Komponententests für etwas Code und habe festgestellt, dass ein einfaches gzip
Ergebnis zu einem Unterschied in meinen Ergebnissen führt. Nach weiteren Untersuchungen habe ich festgestellt, dass sich gzip
eine andere .gz
Datei ergibt als dies der gzip -c
Fall ist. Warum ist das?
$ echo "foo" > bar $ gzip bar $ zcat bar.gz | gzip -c > test.gz $ cmp bar.gz test.gz bar.gz test.gz differ: byte 4, line 1 $ stat bar.gz | grep Size Size: 28 Blocks: 0 IO Block: 4194304 regular file $ stat test.gz | grep Size Size: 24 Blocks: 0 IO Block: 4194304 regular file $ zcat bar.gz > foo1.txt $ zcat test.gz > foo2.txt $ cmp foo1.txt foo2.txt $ echo $? 0
Durch das Ausfüllen einer Datei wird der ursprüngliche Dateiname als Teil des Ausgabe-Headers gespeichert.
(Standardmäßig wird auch die Änderungszeit gespeichert, sodass sich auch zwei identisch erstellte .gz-Dateien unterscheiden können.)