He leído muchas guías y mensajes en el foro que describen cómo utilizar dd
, pero una cosa que he notado es que la gente siempre utilizan valores diferentes para el bs=
, count=
y seek=
los interruptores.
Alguien puede explicar qué hacen exactamente estos interruptores (la página de manual no es muy detallada) y explicar cuáles son las mejores configuraciones para diferentes tareas, como crear archivos desde / dev / random o / dev / zero, y sobrescribir particiones y unidades externas.
Respuestas:
Realmente no sé cómo explicar esto mejor que la página de manual.
bs=
establece el tamaño de bloque, por ejemplobs=1M
, sería 1MiB de tamaño de bloque.count=
copia solo este número de bloques (el valor predeterminado es que dd continúe para siempre o hasta que se agote la entrada). Idealmente, los bloques son debs=
tamaño, pero puede haber lecturas incompletas, por lo que si utilizacount=
para copiar una cantidad específica de datos (count*bs
), también debe proporcionariflag=fullblock
.seek=
busca este número de bloques en la salida, en lugar de escribir en el comienzo del dispositivo de salida.Entonces, por ejemplo, esto copia un valor de 1MiB
y\n
para colocar 8MiB del archivo de salida. Entonces, el tamaño total del archivo será de 9MiB.Como mencionas
/dev/random
y sobrescribes particiones ... tomará una eternidad ya que/dev/random
(así como/dev/urandom
) es demasiado lento. En sushred -v -n 1
lugar, podría usar , eso es rápido y generalmente está disponible en cualquier lugar.fuente
Ok, dijiste que las páginas del manual no están detalladas, así que explicaré lo que significan con metáforas fáciles de entender sobre un tipo en movimiento (se conoce con el nombre de
dd
):dd
recoge algo (cajas, jarrones, camas, arroz, etc.), muévelo donde debe estar y déjalo. Hasta que no suelte la carga, no elige nada más. Ahora, cuando necesita decirle exactamente cuántos objetos debe elegir por viaje, esto es lo que debebs
hacer. Establece la cantidad de datos que leerá y escribirá. Esto es casi obligatorio en todos los comandos útiles y comunes.Esto determina la cantidad total de cajas que moverá. Los cuadros en este contexto son los bloques en el disco . Le dices que mueva 5 cajas, solo mueve 5 cajas incluso si hay más de 5 cajas (si hay menos de 5 cajas, tomará un jarrón que encontró además de las cajas para sumarlo). Si le dice
dd
acount
solo 5 y lo escribe en alguna parte, él copiará los primeros 5 bloques que ve y los escribirá donde desee.El tipo normalmente encuentra el primer lugar disponible para soltar la carga, esto es normalmente al comienzo (del disco) y continúa llenándose hasta el final. Bueno, con esto le dice
dd
que comience más arriba, digamos que en lugar del pasillo, comience en una de las habitaciones más adentro. Simplemente "salta" los bloques de partida.Ahora, dependiendo de lo que esté haciendo, necesitará diferentes combinaciones basadas en el origen y el destino, junto con el formato en que se leerán y escribirán. Te recomiendo que los busques por separado.
fuente