Probablemente esta aqui porque tiene la tarea de crear un archivo de cierto tamaño, probablemente para hacer pruebas de escritura a disco, pruebas de transferencias por red o algo más.

El comando dd(1) es un programa que hace copias de archivos usando como entrada un archivo o algún dispositivo de bloque como /dev/sda1.

El comando dd requiere por lo menos dos argumentos, if (input file) especifica el archivo de entrada, of (output file) especifica la ruta del archivo en el que guardara la salida.

El comando dd hace la copia del archivo por bloques, el tamaño predeterminado de bloque es de 512 bytes.

Para crear un archivo vacio de 512 bytes (tamaño de bloque predeterminado) usamos el comando:

$ dd if=/dev/zero of=/tmp/archivo1 count=1
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.000190179 s, 2.7 MB/s

Note la la parte de 512 bytes copied, veamos su tamaño:

$ ls -l /tmp/archivo1
-rw-r--r-- 1 jmedina jmedina 512 2009-11-01 15:15 /tmp/archivo1

Creando un archivo de 1 kB (kilobyte) o 1024 bytes

$ dd if=/dev/zero of=/tmp/archivo1 bs=1024 count=1
1+0 records in
1+0 records out
1024 bytes (1.0 kB) copied, 7.1072e-05 s, 14.4 MB/s

Verificamos su tamaño:

$ ls -l /tmp/archivo1
-rw-r--r-- 1 jmedina jmedina 1024 2009-11-01 15:22 /tmp/archivo1

Creando un archivo de 10 MB (10 megabytes)

Usando como base de medida el SI (Sistema Internacional de Unidades), en el cual los prefijos de KB (kilobyte), M (megabyte) y G (gigabyte) son basados en potencias de 10.

En el SI 1 MB == 1 megabyte == 1000000 bytes.

$ dd if=/dev/zero of=/tmp/archivo10MB bs=1MB count=10
10+0 records in
10+0 records out
10000000 bytes (10 MB) copied, 0.0512292 s, 195 MB/s

Verificamos su tamaño:

$ ls -l /tmp/archivo10MB
-rw-r--r-- 1 jmedina jmedina 10000000 2009-11-01 16:17 /tmp/archivo10MB

$ ls -lh /tmp/archivo10MB
-rw-r--r-- 1 jmedina jmedina 9.6M 2009-11-01 16:17 /tmp/archivo10MB

Usando como base de medida el Prefijo Binario en el cual los prefijos KB (kilobyte), M (megabyte) y G (gigabyte) son basados en potencias de 10.

En el Prefijo Binario 1 M == 1 megabyte == 10485760 bytes.

$ dd if=/dev/zero of=/tmp/archivo10M bs=1M count=10
10+0 records in
10+0 records out
10485760 bytes (10 MB) copied, 0.044422 s, 236 MB/s

Verificamos su tamaño:

$ ls -l /tmp/archivo10M
-rw-r--r-- 1 jmedina jmedina 10485760 2009-11-01 16:20 /tmp/archivo10M

$ ls -lh /tmp/archivo10M
-rw-r--r-- 1 jmedina jmedina 10M 2009-11-01 16:20 /tmp/archivo10M

Espero que les sirvan estos tipos.