Créer rapidement un fichier de grande taille

- Unix

Pour les besoins de configuration d’un serveur FTP, j’ai eu besoin de transférer un fichier de grosse taille. Mais je n’en avais pas sous la main, mon première idée a été de télécharger un fichier de plus de 500 Mo par un moyen non avouable. Mais il existe un moyen légal rapide, simple et très facile pour générer facilement un fichier de la taille que l’on veut avec son terminal…

Comme souvent dans le Terminal, tout se fait avec un commande et c’est le cas ici! Pour générer un fichier de 500 Mo, il suffit de saisir la commande suivante :

$> dd if=/dev/zero of=monfichier.bin bs=1024 count=0 seek=$[1024 * 500]

Je vous invite à lire le man de la commande dd pour en savoir plus sur les différents arguments de la commande. Néanmoins, il y a une partie intéressante à la fin de la commande qui permet de générer la taille du fichier cible avec une multiplication.
Même si je ne vais pas utiliser cette commande tous les jours, j’en ai profité pour l’ajouter à mon environnement via mes dotfiles avec la function suivante que j’ai placé dans le fichier d’alias de mon shell zsh :

# not an alias but works like an alias
gen_file() { dd if=/dev/zero of=file.bin bs=1024 count=0 seek=$[1024 * $1] } 

Après avoir rechargé mon shell, il me suffit de saisir la commande suivante pour générer un fichier de 500Mo :

$> gen_file 500

Piece of cake… :)