Manipulation fichiers binaires - dd - cat - head - tail - truncate

Mise à jour : Debian 11.1 / Bullseye

Utilisation des utilitaires dd, cat, head, truncate pour créer, recopier, réduire ou étendre, concaténer ou substituer les données d'un fichier binaire

Sommaire

1 - Création

$ dd if=/dev/zero bs=512 count=1 of=zero.img

$ head -c 512 /dev/zero > zero.img
$ dd if=/dev/urandom bs=512 count=1 of=random.img

$ head -c 512 /dev/urandom > random.img

2 - Réduction ou extension d'un fichier

$ truncate -s +512 original
$ truncate -s -512 original
$ truncate -s 100 M original

3 - Recopie complète ou partielle

$ cp original copie

$ dd if=original of=copie

$ cat original > copie
$ dd if=original bs=512 count=1 of=début_original     # mbr

$ head -c 512 /dev/sdb > début_original # mbr
$ tail -c 512 original >fin_original
$ dd if=original bs=512 skip=1 of=original_avec_début_tronqué

$ tail -c +513 original > original_avec_début_tronqué
$ head -c -512 original > original_avec_fin_tronquée

4 - Concaténation - Substitution

$ dd if=Input of=Output conv=notrunc oflag=append

$ cat Input >>Output
$ dd if=Input of=Output conv=notrunc
$ dd if=file1 of=file2 bs=512 seek=5 conv=notrunc

5 - Recopie entre un fichier et un périphérique

$ sudo dd if=/dev/sr0 of=cd.img

$ sudo cat /dev/sro > cd.img
$ sudo dd if=/dev/sdb of=disk.img

$ sudo cat /dev/sdb > disk.img
$ sudo dd if=/dev/sdb1 of=part.img

$ sudo cat /dev/sdb1 > part.img
$ sudo dd if=img.img of=/dev/sdb

$ cat img | sudo tee /dev/sdb 1>/dev/null

Annexe - Options de la commande dd

1 - Options principales

2 - Options utilisables par défaut

status=progress conv=fsync iflag=fullblock oflag=direct