Je voudrais générer un fichier avec le nom example.file
. je pourrais utiliser
touch example.file
mais je veux que le fichier ait exactement 24 Mo de taille. J'ai déjà vérifié la page de manuel de touch, mais il n'y a pas de paramètre comme celui-ci. Existe-t-il un moyen simple de générer des fichiers d’une certaine taille?
bash
command-line
files
R_Utilisateur
la source
la source
Réponses:
Vous pouvez utiliser dd:
ou
ou, sur Mac,
la source
bs=1G count=1
dd if=/dev/zero of=output.dat bs=24m count=1
m
.Sous Linux ou Cygwin non intégrés (ou tout système avec GNU coreutils) et FreeBSD:
Cela crée un fichier plein d'octets nuls. Si le fichier existe déjà et est plus petit, il est étendu à la taille demandée avec des octets nuls. Si le fichier existe déjà et est plus volumineux, il est tronqué à la taille demandée.
Les octets nuls ne consomment aucun espace disque, le fichier est un fichier fragmenté .
Sur de nombreux systèmes,
head -c 24m </dev/zero >example.file
crée un fichier non fragmenté rempli d'octets nuls. Sihead
vous n'avez pas d'-c
option sur votre système (c'est courant mais pas dans POSIX), vous pouvez l'utiliserdd bs=1024k count=24 </dev/zero >example.file
(c'est compatible avec POSIX).la source
Si vous ne vous souciez pas du contenu du fichier, c'est beaucoup plus rapide que d'utiliser
dd
:Évidemment, utiliser
dd
un fichier de 24 Mo ne prendra pas beaucoup de temps sur un système moderne, mais les fichiers plus volumineux peuvent être visiblement lents.la source
Vous pouvez utiliser dd:
Ou au cas où vous utiliseriez Solaris
la source
-n
pour créer un fichierla source
fallocate
pourrait être une bonne réponse, mais pourquoi toutes les autres lignes? Coupez votre réponse pour qu'elle réponde exactement à ce qui a été demandé et rien de plus.fallocate -l 10M somefile.dump