J'ai lu de nombreux guides et messages du forum décrivant comment utiliser dd
, mais une chose que j'ai remarqué est que les gens utilisent toujours des valeurs différentes pour les bs=
, count=
et les seek=
commutateurs.
Veuillez expliquer à quelqu'un ce que ces commutateurs font exactement (la page de manuel n'est pas très détaillée) et expliquer quels sont les meilleurs paramètres pour eux pour différentes tâches, telles que la création de fichiers à partir de / dev / random ou / dev / zero, et l'écrasement partitions et disques externes.
Réponses:
Je ne sais vraiment pas comment expliquer cela mieux que la page de manuel.
bs=
définit la taille de bloc, par exemplebs=1M
serait 1 Mo de taille de bloc.count=
copie uniquement ce nombre de blocs (par défaut, dd continue indéfiniment ou jusqu'à épuisement de l'entrée). Idéalement, les blocs sont debs=
taille mais il peut y avoir des lectures incomplètes, donc si vous utilisezcount=
pour copier une quantité spécifique de données (count*bs
), vous devez également fourniriflag=fullblock
.seek=
recherche ce nombre de blocs dans la sortie, au lieu d'écrire au tout début du périphérique de sortie.Ainsi, par exemple, cela copie la valeur de 1
y\n
Mo de la position de 8 Mo du fichier de sortie. La taille totale du fichier sera donc de 9 Mo.Puisque vous mentionnez
/dev/random
et écrasez les partitions ... cela prendra une éternité car/dev/random
(ainsi que/dev/urandom
) est tout simplement trop lent. Vous pouvez simplement utiliser à lashred -v -n 1
place, c'est rapide et généralement disponible partout.la source
Ok, vous avez dit que les pages de manuel ne sont pas détaillées, donc je vais expliquer ce qu'elles signifient avec des métaphores faciles à comprendre à propos d'un gars en mouvement (cela s'appelle
dd
):dd
ramasse quelque chose (boîtes, vases, lits, riz, etc.), déplacez-vous là où il doit être et déposez-le. Jusqu'à ce qu'il ne baisse pas la charge, il ne choisit rien d'autre. Maintenant, quand vous devez lui dire exactement combien d'objets il doit ramasser par voyage, c'est ce qu'il fautbs
faire. Vous définissez la quantité de données qu'il va lire et écrire. C'est presque obligatoire dans toutes les commandes utiles et courantes.Cela détermine le nombre total de boîtes qu'il déplacera. Les boîtes dans ce contexte sont les blocs sur le disque . Vous lui dites de déplacer 5 cases, il ne déplace que 5 cases même s'il y a plus de 5 cases (s'il y a moins de 5 cases, il prendra un vase qu'il a trouvé à côté des cases pour l'ajouter). Si vous dites
dd
àcount
seulement 5, et l' écrire quelque part, il copiait les 5 premiers blocs qu'il voit et les écrire où vous voulez.Le gars trouve normalement le premier endroit disponible pour déposer la charge, c'est normalement au début (du disque), et continue de se remplir jusqu'à la fin. Eh bien, avec cela, vous dites
dd
de commencer plus haut, par exemple, au lieu du hall, commencez dans l'une des pièces plus à l'intérieur. Il suffit de "sauter" les blocs de départ.Maintenant, selon ce que vous faites, vous aurez besoin de différentes combinaisons en fonction de la source et de la destination, ainsi que du format dans lequel elles seront lues et écrites. Je vous recommande de les rechercher séparément.
la source