GNU/Linux >> Tutoriels Linux >  >> Linux

Quelle est la différence entre `fallocate --dig-holes` et `fallocate --punch-hole` sous Linux ?

En bref :

  • --dig-holes rend un fichier clairsemé sans modifier son contenu (tel qu'il est vu par un programme qui le lit).
  • --punch-hole crée un trou dans un fichier, modifiant éventuellement des données existantes.

La différence est que --dig-holes analyse le fichier pour les zones qui peuvent être rendues clairsemées (en utilisant --offset et --length , si fourni, pour indiquer la plage dans le fichier à analyser), tandis que --punch-holes utilise --offset et --length pour réellement mettre à zéro une partie d'une lime pour créer un trou.

Notez également le pluriel "creuser des trous" par rapport au singulier "perforer".

Du manuel, concernant --dig-holes :

Vous pouvez considérer cette option comme faisant un cp --sparse puis renommer le fichier de destination par l'original, sans avoir besoin d'espace disque supplémentaire.


--dig-holes ne modifie pas le contenu du fichier, tel que déterminé lors de la lecture du fichier :il identifie simplement les séries de zéros qui peuvent être remplacées par des trous.

--punch-hole utilise le --offset et --length arguments pour percer un trou dans un fichier, quel que soit le contenu du fichier à ce décalage :cela fonctionne même si le fichier contient des non-zéros, mais le contenu du fichier change par conséquent. Considérant votre fichier d'exemple, exécutant fallocate --punch-hole --offset 2 --length 10 remplacerait dix a caractères avec des zéros, en commençant après le deuxième.


Linux
  1. Quelle est la différence entre InnoDB et MyISAM ?

  2. La différence entre .exrc et .vimrc ?

  3. Quelle est la différence entre env et set (sur Mac OS X ou Linux) ?

  4. Quelle est la différence entre "localiser" et "trouver" sous Linux ?

  5. Quelle est la différence entre ls et l ?

Quelle est la différence entre les noyaux macOS et Linux

Quelle est la différence entre Linux et Unix ?

Quelle est la différence entre Rsync et BTRFS sous Linux ?

Quelle est la différence entre un conteneur Linux et une image ?

Qu'est-ce qu'un Hyperviseur ? Quelle est la différence entre les types 1 et 2 ?

Quelle est la différence entre curl et Wget ?