GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was ist der Unterschied zwischen `fallocate --dig-holes` und `fallocate --punch-hole` unter Linux?

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.


Linux
  1. Was ist der Unterschied zwischen dem Befehl „locate“ und „find“ in Linux?

  2. Was ist der Unterschied zwischen Puffer- und Cache-Speicher in Linux?

  3. Was ist der Unterschied zwischen dem Schreiben in eine Datei und einem zugeordneten Speicher?

  4. Was ist der Unterschied zwischen einem Linux-Plattformtreiber und einem normalen Gerätetreiber?

  5. Was ist der Unterschied zwischen „locate“ und „find“ in Linux?

Was ist der Unterschied zwischen macOS- und Linux-Kernels

Was ist der Unterschied zwischen Linux und Unix?

Was ist der Unterschied zwischen Rsync und BTRFS unter Linux?

Was ist ein Hypervisor? Was ist der Unterschied zwischen Typ 1 und 2?

Was ist der Unterschied zwischen Curl und Wget?

Was ist der Unterschied zwischen einem Bibliotheksaufruf und einem Systemaufruf in Linux?