Kurz:
--dig-holes
macht eine Datei sparsam, ohne ihren Inhalt zu ändern (wie er von einem Programm gesehen wird, das sie liest).--punch-hole
erstellt eine Lücke in einer Datei und verändert möglicherweise vorhandene Daten.
Der Unterschied ist, dass --dig-holes
analysiert die Datei auf Bereiche, die spärlich gemacht werden können (mit --offset
und --length
, falls angegeben, um den zu analysierenden Bereich in der Datei anzugeben), während --punch-holes
verwendet --offset
und --length
um tatsächlich auf Null zu setzen ein Teil einer Datei, um ein Loch zu erzeugen.
Beachten Sie auch den Plural „Grablöcher“ gegenüber dem Singular „Lochloch“.
Aus dem Handbuch zu --dig-holes
:
Sie können sich diese Option als cp --sparse
vorstellen und dann Umbenennen der Zieldatei in das Original, ohne dass zusätzlicher Speicherplatz benötigt wird.
--dig-holes
ändert den Inhalt der Datei nicht, der beim Lesen der Datei bestimmt wird:Er identifiziert nur Folgen von Nullen, die durch Löcher ersetzt werden können.
--punch-hole
verwendet den --offset
und --length
Argumente, um ein Loch in eine Datei zu schlagen, unabhängig davon, was die Datei an diesem Offset enthält:Es funktioniert auch dann, wenn die Datei dort Nicht-Nullen enthält, aber der Inhalt der Datei ändert sich als Ergebnis. Betrachten Sie Ihre Beispieldatei und führen Sie fallocate --punch-hole --offset 2 --length 10
aus würde zehn a
ersetzen Zeichen mit Nullen, beginnend nach der zweiten.