Créer un fichier volumineux instantanément

1. Créer un fichier de 10 Mo (instantané)
dd if=/dev/zero of=10M.bin bs=1024 count=0 seek=$[1024*10]
2. Créer un fichier de 100 Mo (instantané)
dd if=/dev/zero of=100M.bin bs=1024 count=0 seek=$[1024*100]
3. Créer un fichier de 1 Go (instantané)
dd if=/dev/zero of=1G.bin bs=1024 count=0 seek=$[1024*1024]
Explication du principe :

  • count=0 → on n’écrit aucun bloc réel.
  • seek=… → on avance le pointeur de fichier à la taille souhaitée.
  • Résultat : le fichier apparaît comme ayant la taille demandée (ls -lh), mais il n’occupe presque aucun espace physique sur le disque tant qu’on n’y écrit pas vraiment de données (c’est un sparse file).
  • Instantané, même pour des dizaines de Go.

Vérification :

ls -lh *.bin          # Taille affichée
ls -lhS *.bin         # Taille réelle occupée sur disque (très petite)
du -h *.bin           # Espace réellement utilisé
Depuis bash 4+ et dd récent, tu peux utiliser des suffixes directs (plus clair, pas de calcul manuel) :

# 10 Mo
dd if=/dev/zero of=10M.bin bs=1 count=0 seek=10M

# 100 Mo
dd if=/dev/zero of=100M.bin bs=1 count=0 seek=100M

# 1 Go
dd if=/dev/zero of=1G.bin bs=1 count=0 seek=1G

# 10 Go en une ligne
dd if=/dev/zero of=10G.bin bs=1 count=0 seek=10G
Alternative avec truncate (encore plus simple et portable) :
truncate -s 10M 10M.bin
truncate -s 100M 100M.bin
truncate -s 1G 1G.bin
truncate -s 10G 10G.bin
truncate est souvent plus direct et disponible partout.

 

Derniers Articles