-
Commandes cat et dd
Bonjour à tous !
Voilà, je ne suis pas sûr d'avoir bien compris cette commande linux :
Code:
$ cat fichier1 fichier2 /dev/zero | dd of=floppy bs=512 count=2880
Il me semble que cat assemble des fichiers et les affiche sur la sortie standard (console), imaginons que fichier1 contient "Bonjour " et fichier2 "monde !", est-ce que cette commande afficherait "Bonjour monde !\0" ? (\0 correspondant au caractère ASCII 0).
DD copie un fichier, non ? Mais puisqu'il n'y a pas if spécifié, c'est bien le résultat de cat fichier1 fichier2 /dev/zero qui est copié ? "floppy" correspond bien au lecteur de disquette ? Enfin, je n'ai pas compris l'interêt de bs=512, je sais en tout cas que fichier1 fait 512 octets et que fichier 2 fait 67 octets (en taille réelle). Normalement, fichier1 doit être copié sur le secteur 2 de la disquette et fichier2 sur le secteur 2. Ah aussi, à quoi sert la commande count ?
Merci d'avance !
-
bs=512 c'est le BLOCK SIZE pas de rapport avec la taille d'un fichier.
mais uniquement avec le pseudo file system voulu.
rien n'empeche de metre un block size de 4096 si le FS y correspond egalement.
count c'est le nombre de secteurs a utiliser.
par exemple
dd if=/dev/sda of=/tmp/boot.sector bs=512 count=1
copiera le bootsector dans un fichier optimise pour les FS de 512o par blocks
-
Alors en fait, en quelques sortes, bs indique le nombre d'octets dans un segment et count le nombre de segments ?
-
oui c'est cela.
mais ton cas est tordu si fichier 1 fait 512 octects et fichiers 2 67 et que le tout doit etre copier sur le 2eme secteur de la disquette, il y a un problème non ?
si les secteurs de la disquette font 512 octets la commande copie sur le secteur 1 et 2 (fic 1 sur 1 et fic 2 sur 2).....
si la copie doit s'effectuer sur le 2 secteur (block) de la disquette il te faut "sauter" le 1er block donc ajouter l'option seek=1 (saut de 1 block (bs=512) avant écriture).
Le count n'a pas d'importance vu que les fichier en entrée font la taille voulu (quand il n'y a plus rien a lire dd arrête l'écriture).