Comment puis-je créer un nouveau fichier et le remplir avec 1 gigaoctet de données aléatoires? J'en ai besoin pour tester des logiciels.
Je préfère utiliser /dev/random
ou /dev/urandom
.
Sur la plupart des unités:
head -c 1G </dev/urandom >myfile
Si votre head
ne comprend pas le suffixe G
, vous pouvez spécifier la taille en octets:
head -c 1073741824 </dev/urandom >myfile
Si votre head
ne comprend pas le -c
option (c'est courant mais pas POSIX; vous avez probablement OpenBSD):
dd bs=1024 count=1048576 </dev/urandom >myfile
Ne pas utiliser /dev/random
sous Linux, utilisez /dev/urandom
.
En supposant que les données pseudo-aléatoires sont suffisantes, dd if=/dev/urandom of=target-file bs=1M count=1000
fera ce que vous voulez.
dd (1) lit les blocs de données d'un fichier d'entrée et les écrit dans un fichier de sortie. Le langage de ligne de commande est un peu excentrique, mais c'est l'un de ces outils vraiment utiles qui vaut la peine de maîtriser les bases de.
Dans ce cas, if
est le fichier d'entrée, of
est le fichier de sortie, bs
est la "taille du bloc" - et j'ai utilisé l'extension GNU pour définir la taille plus facilement. (Vous pouvez également utiliser 1048576 si votre dd
n'a pas GNU.) count
est le nombre de blocs à lire depuis if
et écrire dans of
.
/dev/urandom
est un meilleur choix que /dev/random
parce que sous Linux, il retombera sur des données pseudo-aléatoires solides plutôt que de bloquer lorsque les données véritablement aléatoires seront épuisées.
Vous pouvez également considérer http://www.random.org/ comme un autre chemin pour obtenir des données aléatoires sans avoir à les générer vous-même.
while true;do head /dev/urandom | tr -dc A-Za-z0-9;done | head -c 5000K | tee 5000kb
Utilisé pour générer des données de caractères aléatoires de 5 Mo. Si vous avez besoin d'une taille différente, modifiez le -c
valeur de head, changez le nom du fichier de sortie, exécutez et attendez la fin de l'exécution.