我想在大小为128k的linux中创建一个文件,其数据有128k。 最快的方法是什么?
答案 0 :(得分:5)
为什么您需要最快的解决方案?将字节写入磁盘可能会成为瓶颈,所以只要它比输出介质的写入速率快,生成它们的速度并不重要。
dd if=/dev/zero bs=131072 count=1 |
tr '\000' '\377' >file
tr
的不同变体使用略有不同的语法,因此您可能需要稍微调整一下。
这里有记忆力,但希望是完全便携的替代品;
perl -e 'printf("\xff" x 131072)' >file
答案 1 :(得分:3)
这比使用dd
的任何内容都快一个数量级: - )
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define SIZE (128*1024)
int main(){
char *p=malloc(SIZE);
memset(p,'\xff',SIZE);
fprintf(stdout,p,SIZE);
}