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 гигабайт обычно составляет 2 30 байтов (хотя вы можете использовать вместо 10**910 9 байтов). Эта * 3/4часть учитывает накладные расходы Base64, делая кодированный вывод 1 ГБ.
В качестве альтернативы вы можете использовать /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
/dev/urandomдвоичный файл, а не настоящий текстовый файл.