我一直在使用dd if=/dev/random of=<file_name> bs=XX count=XX
创建随机数据的单个文件。但我想知道如何一次创建多个文件。说 5、10 或 80,000。我需要做一些带宽测试并且需要独特的数据。上面的代码适用于 1 或 2 个文件。我的编程(Python)和终端技能仍然很低。
任何帮助都是极好的。
男人分裂。
Split根据文件大小或行数将文件或标准输入拆分为多个文件。它不会“一次”或同时发生。
dd if=/dev/random bs=1 count=10 | split -b 2
生成 5 个文件 xaa,xab..xae,每个文件由 2 个字节组成。
我会用GNU Parallel
这个。命令行语法非常直观和简洁,它可以并行完成所有工作,即 FAST,并使用 Mac 中所有可爱的 CPU 内核。
因此,要并行创建 8 个文件,每个文件 100MB,您可以在终端中键入:
$ parallel dd if=/dev/random of=random-{} bs=1000000 count=100 ::: {0..7}
您将在 60 秒后得到这 8 个文件:
$ ls -l random-*
-rw-r--r--@ 1 mark staff 100000000 19 Dec 11:52 random-0
-rw-r--r--@ 1 mark staff 100000000 19 Dec 11:52 random-1
-rw-r--r--@ 1 mark staff 100000000 19 Dec 11:52 random-2
-rw-r--r--@ 1 mark staff 100000000 19 Dec 11:52 random-3
-rw-r--r--@ 1 mark staff 100000000 19 Dec 11:52 random-4
-rw-r--r--@ 1 mark staff 100000000 19 Dec 11:52 random-5
-rw-r--r--@ 1 mark staff 100000000 19 Dec 11:52 random-6
-rw-r--r--@ 1 mark staff 100000000 19 Dec 11:52 random-7
或者,如果您想要一个 1kB 的文件、两个 64kB 的文件、一个 32kB 的文件和一个 128kB 的文件,您可以这样做:
$ parallel dd if=/dev/random of=random-{%} bs=1024 count={1} ::: 1 64 64 32 128
这会给你这个:
-rw-r--r-- 1 mark staff 131072 19 Dec 12:10 random-5
-rw-r--r-- 1 mark staff 32768 19 Dec 12:10 random-4
-rw-r--r-- 1 mark staff 65536 19 Dec 12:10 random-3
-rw-r--r-- 1 mark staff 65536 19 Dec 12:10 random-2
-rw-r--r-- 1 mark staff 1024 19 Dec 12:10 random-1
在我看来,parallel
在 OSX 上安装最简单的方法是homebrew
从homebrew website获取,然后你要做的就是:
brew install parallel