Kurz:
--dig-holesmacht eine Datei sparsam, ohne ihren Inhalt zu ändern (wie er von einem Programm gesehen wird, das sie liest).--punch-holeerstellt 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.