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 ?
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 ?
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.
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 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.