215 votes

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

Pour des fins de test, j’ai générer un fichier d’une certaine taille (afin de tester une limite de téléchargement).

Quelle est la commande pour créer un fichier d’une certaine taille sur Linux ?

251voto

Ilya Kochetov Points 11641
 dd if=/dev/zero of=upload_test bs=file_size count=1
 

file_size est la taille en octets de votre fichier de test

236voto

jørgensen Points 5370

S'il vous plaît, le moderne est plus facile et plus rapide. Sous Linux, (en choisir un)

 truncate -s 10G foo
fallocate -l 5G bar
 

44voto

Brian Points 48423

Juste pour suivre le post de Tom , vous pouvez 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 occuperont n'importe quel espace jusqu'à ce que quelque chose d'autre que zéro soit écrit dedans.

33voto

Grundlefleck Points 29486

Utilisez cette commande :

 JJ si = la $INPUT-dossier de = $OUTPUT-fichier bs = $BLOCK-comte de taille = $NUM-blocs 

Pour créer un gros fichier (vide), la valeur . Taille totale du fichier sera .
Nouveau fichier créé sera `` .

17voto

bene Points 4294

Vous pouvez le faire par programmation:

#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>

int main() {
    int fd = creat("/tmp/foo.txt", 0644);
    ftruncate(fd, SIZE_IN_BYTES);
    close(fd);
    return 0;
}

Cette approche est particulièrement utile par la suite mmap le fichier dans la mémoire.

utilisez la commande suivante pour vérifier que le fichier a la bonne taille:

# du -B1 --apparent-size /tmp/foo.txt

Attention:

# du /tmp/foo.txt

sera probablement l'impression de 0 , car il est affecté en tant que fichier fragmenté si prise en charge par votre système de fichiers.

voir aussi: man 2 open et l'homme 2 tronquée

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X