Utilisez cette commande :
dd if=$INPUT-FILE of=$OUTPUT-FILE bs=$BLOCK-SIZE count=$NUM-BLOCKS
Pour créer un gros fichier (vide), définissez $INPUT-FILE=/dev/zero
.
La taille totale du fichier sera $BLOCK-SIZE * $NUM-BLOCKS
.
Le nouveau fichier créé sera $OUTPUT-FILE
.
S'il vous plaît, le moderne est plus facile et plus rapide. Sous Linux, (choisissez-en un)
truncate -s 10G foo
fallocate -l 5G bar
Il a besoin à préciser que truncate
sur un système de fichiers prenant en charge les fichiers fragmentés créera un fichier fragmenté et fallocate
Ne fera pas. Un fichier fragmenté est un fichier dans lequel les unités d'allocation qui composent le fichier ne sont pas réellement attribué jusqu'à son utilisation. Les métadonnées du fichier seront occupent cependant un espace considérable, mais probablement loin de la taille réelle du fichier. Vous devriez consulter les ressources sur les fichiers fragmentés pour plus d'informations car ce type de fichier présente des avantages et des inconvénients. Un fichier non fragmenté a ses blocs (unités d'allocation) alloués à l'avance, ce qui signifie que l'espace est réservé dans la mesure où le système de fichiers le voit. Aussi fallocate
ni truncate
ne définira pas le contenu du fichier sur une valeur spécifiée comme dd
, à la place le contenu d'un fichier alloué avec fallocate
ou truncate
peut être n'importe quelle valeur poubelle qui existait dans les unités allouées lors de la création et ce comportement peut être souhaité ou non. Le dd
est le plus lent car il écrit en fait la valeur ou le bloc de données dans l'ensemble du flux de fichiers, comme spécifié avec ses options de ligne de commande.
Ce comportement peut potentiellement être différent - en fonction du système de fichiers utilisé et de la conformité de ce système de fichiers à toute norme ou spécification. Par conséquent, il est conseillé d'effectuer des recherches appropriées pour s'assurer que la méthode appropriée est utilisée.
Pour les petits fichiers :
dd if=/dev/zero of=upload_test bs=file_size count=1
Où file_size
est la taille de votre fichier de test en octets.
Pour les gros fichiers :
dd if=/dev/zero of=upload_test bs=1M count=size_in_megabytes
Juste pour donner suite au message de Tom, vous pouvez également utiliser dd pour créer des fichiers fragmentés :
dd if=/dev/zero of=the_file bs=1 count=0 seek=12345
Cela créera un fichier avec un "trou" sur la plupart des Unix - les données ne seront pas réellement écrites sur le disque, ou n'occuperont pas d'espace jusqu'à ce que quelque chose d'autre que zéro y soit écrit.