¿Cómo puedo crear un nuevo archivo y llenarlo con 1 Gigabyte de datos aleatorios? Necesito esto para probar algún software.
Preferiría usar /dev/randomo /dev/urandom.
¿Cómo puedo crear un nuevo archivo y llenarlo con 1 Gigabyte de datos aleatorios? Necesito esto para probar algún software.
Preferiría usar /dev/randomo /dev/urandom.
Respuestas:
En la mayoría de las unidades:
head -c 1G </dev/urandom >myfile
Si headno comprende el Gsufijo, puede especificar el tamaño en bytes:
head -c 1073741824 </dev/urandom >myfile
Si headno entiende la -copción (es común pero no POSIX; probablemente tenga OpenBSD):
dd bs=1024 count=1048576 </dev/urandom >myfile
headno entiende -cen mi máquina Solaris 10.
headpuede leer /dev/urandom, pero tailno puede.
tailprimero intenta ir al final del archivo de entrada, lo que lleva una eternidad (literalmente).
/dev/zero, si no te gusta la variedad.
Suponiendo que los datos pseudoaleatorios son suficientes, dd if=/dev/urandom of=target-file bs=1M count=1000hará lo que desee.
dd (1) leerá bloques de datos de un archivo de entrada y los escribirá en un archivo de salida. El lenguaje de línea de comandos es un poco peculiar, pero es una de esas herramientas realmente útiles que vale la pena dominar los conceptos básicos.
En este caso ifes un archivo de entrada, ofes un archivo de salida, bses "tamaño de bloque", y utilicé la extensión GNU para establecer el tamaño más convenientemente. (También puede usar 1048576 si ddno tiene la extensión GNU.) countEs el número de bloques para leer ify escribir of.
/dev/urandomes una mejor opción que /dev/randomporque, en Linux, recurrirá a datos pseudoaleatorios fuertes en lugar de bloquear cuando se agoten los datos realmente aleatorios.
También puede considerar http://www.random.org/ como otra ruta para obtener algunos datos aleatorios sin tener que generarlos usted mismo.
1Mno están disponibles en todas las ddvariantes estándar . Si su versión de ddse ve afectada, use bs=1048576.
while true;do head /dev/urandom | tr -dc A-Za-z0-9;done | head -c 5000K | tee 5000kb
Lo usé para generar datos de caracteres aleatorios de 5 MB. Si necesita un tamaño diferente, cambie el -cvalor de head, cambie el nombre del archivo, ejecute y espere hasta que se complete la ejecución.
viconvi -w randomfiley pida a alguien que nunca ha vistovipara salir del programa. ;)