GNU/Linux >> Tutoriels Linux >  >> Linux

Comment créer un fichier avec une taille donnée sous Linux ?

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

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.


Linux
  1. Comment créer un fichier ZIP protégé par mot de passe sous Linux

  2. Comment créer ou augmenter l'espace d'échange sous Linux

  3. Comment créer des fichiers d'une certaine taille sous Linux

  4. Comment créer un système de fichiers ZFS avec compression de fichiers sous Linux

  5. Comment puis-je créer un fichier avec une taille spécifique à partir d'une ligne de commande ?

Comment trouver des applications installées avec une taille installée sous Linux

Comment créer des répertoires à partir d'un fichier texte sous Linux

Comment créer un groupe de volumes sous Linux avec LVM

Comment créer un gros fichier de 1 Go ou 10 Go sous Linux

Comment créer et utiliser un fichier d'échange sous Linux

Comment obtenir la taille d'un fichier/dossier avec SSH sous Linux ?