Quería producir un archivo aleatorio de 1 GB, así que utilicé el siguiente comando.
dd if=/dev/urandom of=output bs=1G count=1
Pero cada vez que ejecuto este comando obtengo un archivo de 32 MB:
<11:58:40>$ dd if=/dev/urandom of=output bs=1G count=1
0+1 records in
0+1 records out
33554431 bytes (34 MB, 32 MiB) copied, 0,288321 s, 116 MB/s
¿Qué está mal?
EDITAR:
Gracias a las excelentes respuestas en este tema, llegué con una solución que lee 32 fragmentos de 32 MB de tamaño, lo que hace que 1 GB:
dd if=/dev/urandom of=output bs=32M count=32
Se dio otra solución que lee 1 GB directamente en la memoria y luego escribe en el disco. Esta solución toma mucha memoria, por lo que no se prefiere:
dd if=/dev/urandom of=output bs=1G count=1 iflag=fullblock
headno puede hacer esta tarea sin la -copción que no está en POSIX . No conozco ninguna versión catque pueda resolver esto. rsyncEs una utilidad completamente no estándar. Eso no está ni aquí ni allá; hojeando su página de manual, tampoco veo cómo puede resolver este problema.
/dev/urandomtampoco está en POSIX ...
dden absoluto. Yo usaríahead,catorsyncen su lugar casi siempre. Y su pregunta es una de las razones por las cuales las alternativas son generalmente más seguras.