Générer un fichier avec une taille définie
Par PlaceOweb le dimanche, juin 7 2009, 09:41 - Système - Lien permanent
Comment créer un nouveau fichier dont la taille est Mo est définie ?
Créer le nouveau fichier
Créer un fichier de 1GB contenant seulement des zeros :
dd if=/dev/zero of=mytestfile.out bs=1000 count=1000000
Ainsi pour créer un fichier 2 fois plus petit, de 500Mo :
monserveur:~# dd if=/dev/zero of=500MB.out bs=1000 count=500000 500000+0 enregistrements lus 500000+0 enregistrements écrits 500000000 octets (500 MB) copiés, 10,2053 seconde, 49,0 MB/s
Pour seulement 100Mo :
monserveur:~# dd if=/dev/zero of=100MB.out bs=1000 count=100000 100000+0 enregistrements lus 100000+0 enregistrements écrits 100000000 bytes (100 MB) copied, 0,761549 s, 131 MB/s
Et pour seulement 10Mo :
monserveur:~# dd if=/dev/zero of=10MB.out bs=100 count=100000 100000+0 enregistrements lus 100000+0 enregistrements écrits 10000000 octets (10 MB) copiés, 0,378195 seconde, 26,4 MB/s
Une autre méthode bien plus lente :
monserveur:~# dd if=/dev/zero of= mytestfile.out bs=1 count=104857600 104857600+0 enregistrements lus 104857600+0 enregistrements écrits 104857600 octets (105 MB) copiés, 820,105 seconde, 128 kB/s
Merci dd !
NOM dd - Convertir et copier un fichier. SYNOPSIS dd [--help] [--version] [if=fichier] [of=fichier] [ibs=octets] [obs=octets] [bs=octets] [cbs=octets] [skip=blocs] [seek=blocs] [count=blocs] [conv={ascii,ebcdic,ibm,block,unblock,lcase,ucase,swab,noerror,notrunc,sync}] if=fichier Lire les données depuis le fichier indiqué plutôt que depuis l’entrée standard. of=fichier Écrire les données dans le fichier mentionné, et non pas sur la sortie standard. Si conv=notrunc n’est pas indiqué, le fichier est initialement tronqué à la taille spécifiée par seek= (0 octets si seek= n’est pas fourni). bs=nombre Lire et écrire le nombre indiqué d’octets en une fois. À priorité sur ibs et obs. (et indiquer bs n’est pas équivalent à indi- quer la même valeur pour ibs et obs du moins lorsqu’aucune autre conversion que sync, noerror et notrunc n’est indiquée, car cela indique que chaque bloc d’entrée doit être copié dans un bloc de sortie indépendant, sans regrouper les blocs plus courts). count=nombre Copier seulement le nombre indiqué de blocs (dont la taille est fournie par ibs), et non pas tout jusqu’à la fin du fichier.
Tableau de taille des octets
1 kibioctet (Kio) = 210 octets = 1 024 octets 1 mébioctet (Mio) = 220 octets = 1 024 Kio = 1 048 576 octets 1 gibioctet (Gio) = 230 octets = 1 024 Mio = 1 073 741 824 octets
1 kilooctet (ko) = 103 octets = 1 000 octets 1 mégaoctet (Mo) = 106 octets = 1 000 ko = 1 000 000 octets 1 gigaoctet (Go) = 109 octets = 1 000 Mo = 1 000 000 000 octets
Ressources
- Wikipedia
- dd et en anglais
- /dev/random et /dev/urandom
- Octet
- Byte
- Byte Octet Bit, éviter la confusion
Test de la bande passante
Avec vos fichiers ainsi générés, vous pouvez tester de les télécharger et de vérifier votre bande passante descendante (téléchargement).
# Sur le réseaux PROXAD (FREE) # wget "http://ftp.fr.debian.org/debian/dists/squeeze/Contents-i386.gz" # Sur le réseaux OLEANE (ORANGE/FT) # wget "http://ftp2.fr.debian.org/debian/dists/squeeze/Contents-i386.gz" # Sur le réseau OVH # wget "http://mir1.ovh.net/debian/dists/squeeze/Contents-i386.gz"
N'oubliez pas que 11,0M/s c'est 11 Mega bit/s, donc 11 * 1024 * 8 octets, donc 90112 octets/s soit 90,112 Mo/s (Mega octets/s)