En cours d'exécution,
fallocate -l 10G /path/to/file
Je suis retourné l'erreur suivante:
fallocate: file: fallocate failed: Operation not supported
La création du fichier à l'aide de dd (if =/dev/zero ou if =/dev/urandom) fonctionne, mais si j'essaie de créer des fichiers volumineux, dont la taille est de plusieurs dizaines de Go, il faut plusieurs heures.
Utiliser Ubuntu 14.04. L'utilisation d'une partition ext4, la spécification d'un type de fichier ne semble pas altérer le résultat.
Fonctionne bien sur mes machines CentOS6, mais pas Ubuntu.
Si les fichiers fragmentés vous conviennent (par exemple, si vous souhaitez créer une image afin de la remplir avec un système de fichiers), ils sont créés en un rien de temps.
100 Go prend 3 millisecondes:
# time dd if=/dev/zero of=tmptst.dat bs=1G seek=100 count=0
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0,00037726 s, 0,0 kB/s
real 0m0.003s
user 0m0.000s
sys 0m0.002s
Le fichier résultant:
# ls -lh tmptst.dat
-rw-r--r-- 1 root root 100G 2015-01-22 16:39 tmptst.dat
Sa taille réelle en ce moment: 0 Octets
# ls -lsh tmptst.dat
0 -rw-r--r-- 1 root root 100G 2015-01-22 16:39 tmptst.dat
Si vous ne vous souciez pas du contenu mais avez juste besoin de quelques données,
D'abord faire
dd if=/dev/urandom of=tmp.txt bs=1M count=1
Il va créer,
-rw-r--r-- 1 root root 1.0M Oct 17 00:30 tmp1.txt.
Ensuite, si vous souhaitez créer un fichier 10M, utilisez le fichier généré ci-dessus pour l'ajouter à plusieurs reprises,
for i in {1..10}; do dd if=tmp.txt of=tmp1.txt bs=1M oflag=append conv=notrunc; done;