GNU/Linux >> Znalost Linux >  >> Linux

Jaký je rozdíl mezi `fallocate --dig-holes` a `fallocate --punch-hole` v Linuxu?

Ve zkratce:

  • --dig-holes dělá soubor řídkým bez úpravy jeho obsahu (jak vidí program, který jej čte).
  • --punch-hole vytvoří díru v souboru, případně upraví existující data.

Rozdíl je v tom, že --dig-holes analyzuje soubor na oblasti, které mohou být řídké (pomocí --offset a --length , pokud je dodán, k označení rozsahu v souboru k analýze), zatímco --punch-holes používá --offset a --length skutečně vynulovat část souboru k vytvoření díry.

Všimněte si také množného čísla „vykopat díry“ vs. jednotného čísla „prorazit díru“.

Z manuálu, týkající se --dig-holes :

Tuto možnost si můžete představit jako provedení cp --sparse a poté přejmenování cílového souboru na původní, aniž by bylo potřeba místo na disku navíc.


--dig-holes nemění obsah souboru, jak je určeno při čtení souboru:pouze identifikuje série nul, které lze nahradit dírami.

--punch-hole používá --offset a --length argumenty pro proražení díry v souboru, bez ohledu na to, co soubor obsahuje s tímto posunem:funguje to, i když tam soubor obsahuje nenulové hodnoty, ale obsah souboru se mění jako výsledek. S ohledem na váš vzorový soubor běží fallocate --punch-hole --offset 2 --length 10 by nahradilo deset a znaky s nulami počínaje druhou.


Linux
  1. Jaký je rozdíl mezi fsync a syncfs?

  2. Jaký je rozdíl mezi ls a l?

  3. Jaký je rozdíl mezi unlink a rm?

  1. Jaký je rozdíl mezi InnoDB a MyISAM?

  2. Jaký je rozdíl mezi linuxovým kontejnerem a obrázkem?

  3. Rozdíl mezi .exrc a .vimrc?

  1. Jaký je rozdíl mezi příkazem locate a find v Linuxu

  2. Jaký je rozdíl mezi env a set (na Mac OS X nebo Linux)?

  3. Jaký je rozdíl mezi vyrovnávací pamětí a mezipamětí v Linuxu?