1

ランダムなサイズの 1k ~ 64k、平均 32k の多数のファイルを非常に迅速に作成できる必要があります。私が見つけた方法の 1 つは、unix コマンドddを使用して、バイトを /dev/urandom から新しいファイルにコピーすることです。ただし、ランダムなバイトをディスクに書き込むことなく、未割り当て領域へのファイル リンクを作成するだけで時間を節約しようとしています。

これは Unix ライクな環境で可能ですか? もしそうなら、どうすればよいでしょうか?

そうでない場合、これは小さな C プログラムで実行できますか?

4

2 に答える 2

2

コマンドライン、mkfileまたはdd任意の数の他の (必ずしも POSIX 標準ではない) ユーティリティから。特に低速の CPU を搭載した古いシステムでは、コピー元の/dev/zero代わりにコピーする方がはるかに高速であることに注意してください。/dev/urandom

C または C++ コードで何かをしたい場合は、 と がtruncate()ありftruncate()ます。おそらくほとんどの Perl/Python/whatever バインディングは、何らかの方法で system/libc 呼び出しも公開しています。

于 2012-09-05T16:00:37.680 に答える
-1

それで、あなたmkfile {size}[b|k|m|g] filenameはcwdに行きたいですか?

于 2012-09-05T15:25:09.827 に答える