私はbashシェルを使用していて、openssl Rand -base64 1000
というコマンドからdd if={output of openssl} of="sample.txt bs=1G count=1
のようなコマンドdd
にパイプアウトします。私は変数を使用することができると思いますが、しかし、私はそうするのが最善かどうかわかりません。ファイルを作成したいのは、ランダムテキストの1GBのファイルが欲しいからです。
if=
は必須ではありません。代わりに何かをdd
にパイプで渡すことができます。
something... | dd of=sample.txt bs=1G count=1
openssl Rand
はとにかくバイト数を指定する必要があるので、ここでは役に立ちません。ですから、実際にはdd
- は必要ありません。これはうまくいきます。
openssl Rand -out sample.txt -base64 $(( 2**30 * 3/4 ))
1ギガバイトは通常230 バイト(ただし、10には10**9
を使用できます)9 代わりにバイト)。 * 3/4
部分はBase64のオーバーヘッドを考慮して、エンコード出力を1 GBにします。
あるいは、/dev/urandom
を使用することもできますが、OpenSSLより少し遅くなります。
dd if=/dev/urandom of=sample.txt bs=1G count=1
個人的には、私はbs=64M count=16
などを使います。
dd if=/dev/urandom of=sample.txt bs=64M count=16
1GB.binランダムコンテンツファイルを作成します。
dd if =/dev/urandom = 1GB.bin bs = 64Mカウント= 16 iflag = fullblock
このスクリプトを試してください。
#!/bin/bash
openssl Rand -base64 1000 | dd of=sample.txt bs=1G count=1
このスクリプトは/dev/random
を使用しても構わない限り動作するかもしれません。
#!/bin/bash
dd if=/dev/random of="sample.txt bs=1G count=1"
あなたが正確に1GBが欲しいなら、あなたは以下を使うことができます:
openssl Rand -out $ testfile -base64 792917038; -s-1 $ testfileを切り捨てます
Opensslコマンドはファイルをちょうど1バイト大きくします。 truncateコマンドはそのバイトを切り捨てます。