← retour aux snippets

fallocate: préallouer un fichier rapidement

Créer un fichier de taille donnée sans l'écrire intégralement, pour tests ou préallocation.

bash filesystem #fallocate#disk#files

objectif

Allouer de l’espace disque de manière efficace, éviter la fragmentation et accélérer certaines écritures.

code minimal

# créer un fichier de 1 GiB
fallocate -l 1G test.img

utilisation

# préallouer un fichier pour un téléchargement
fallocate -l 5G bigfile.tmp

# créer une image sparse (utilise fallocate et trous)
truncate -s 10G sparse.img

variante(s) utile(s)

# retirer des blocs préalloués (libérer l'espace, si supporté)
fallocate -p -o 0 -l 1G test.img || true

notes

  • toutes les FS ne supportent pas toutes les opérations (xfs, ext4: ok; btrfs: partiel).
  • truncate crée des fichiers clairsemés, l’espace n’est réellement consommé qu’à l’écriture.
  • attention aux quotas et à la place disponible.