dd — программа UNIX, предназначенная как для копирования, так и для конвертации файлов.

dd [–help] [–version] [if=файл] [of=файл] [ibs=байты] [obs=байты] [bs=байты] [cbs=байты] [skip=блоки] [seek=блоки] [count=блоки] [conv={ascii, ebcdic, ibm, block, unblock, lcase, ucase, swab, noerror, notrunc, sync}]

if=файл — читает данные из файла вместо стандартного ввода.
of=файл — пишет данные в файл вместо стандартного вывода.
bs=n — размер блока.
ibs=nn и obs=nn — задаёт, сколько байтов нужно считывать или записывать за раз.
count=n — сколько блоков скопировать.
seek=n — сколько блоков пропустить от начала в результирующем файле.
skip=n — сколько блоков от начала файла пропустить перед началом копирования.
conv=фильтр,фильтр — применить фильтры конвертации.
ascii — сконвертировать в ASCII из EBCDIC…
ebcdic — …и наоборот.
block — выравнивание блоков.
lcase — преобразовать к нижнему регистру.
ucase — преобразовать к верхнему регистру.
swab — менять местами пары байт.
noerror — игнорировать ошибки ввода-вывода

  • Создать образ CD/DVD, используя большой размер блока. Игнорировать ошибки:
dd if=/dev/cdrom of=backup.iso bs=65535 conv=noerror
  •  Записать ISO-образ «image.iso» на раздел sdb1 вместе с его загрузочным сектором и форматированием раздела в файловую систему образа (как правило, ISO 9660 или UDF):
dd if=image.iso of=/dev/sdb1
  • Скопировать файл foo в файл bar:
dd if=foo of=bar
  •  Скопировать файл foo в файл bar, пропустив первые 10 КБ из файла foo:
dd if=foo of=bar bs=1k skip=10
  • Порезать 10-мегабайтный файл foo на 2 по 5 МБ:
dd if=foo of=bar.0 bs=1M count=5
dd if=foo of=bar.1 bs=1M skip=5
  • Склеить пять 100-мегабайтных файлов в один:
dd if=SMILE.001 of=SMILE  bs=1M seek=0
dd if=SMILE.002 of=SMILE  bs=1M seek=100
dd if=SMILE.003 of=SMILE  bs=1M seek=200
dd if=SMILE.004 of=SMILE  bs=1M seek=300

а можно и так:

dd if=SMILE.001 > SMILE
dd if=SMILE.002 >> SMILE
dd if=SMILE.003 >> SMILE
dd if=SMILE.004 >> SMILE

или же (для сбора файла из большого количества кусков):

for i in $(seq 1 4); do
dd if=SMILE.00$i >> SMILE
done
  • Вывести на экран (в /dev/stdout) первые 256 байт файла foo:
dd if=foo of=/dev/stdout bs=128 count=2
  •  Скопировать один раздел жёсткого диска на другой жёсткий диск, игнорируя ошибки ввода-вывода:
dd if=/dev/sda1 of=/dev/sdb2 bs=4096 conv=noerror
  • Сделать копию главной загрузочной записи (MBR) первого жёсткого диска:
dd if=/dev/hda of=bootloader.mbr bs=512 count=1
  •  Копировать всё, кроме метки, с диска на магнитную ленту:
(dd bs=4k skip=1 count=0 && dd bs=512k) <$disk >$tape
  • Копировать всё, кроме метки, с диска на магнитную ленту:
(dd bs=4k skip=1 count=0 && dd bs=512k) <$disk >$tape
  • Уничтожить содержимое устройства /dev/sdg, заполнив его «нулями» из /dev/zero:
dd if=/dev/zero of=/dev/sdg bs=65535
  • Узнать статус выполнения операции:
killall -USR1 dd

От ekzorchik

Всем хорошего дня, меня зовут Александр. Я под ником - ekzorchik, являюсь автором всех написанных, разобранных заметок. Большинство вещей с которыми мне приходиться разбираться, как на работе, так и дома выложены на моем блоге в виде пошаговых инструкции. По сути блог - это шпаргалка онлайн. Каждая новая работа где мне случалось работать вносила новые знания и нюансы работы и соответственно я расписываю как сделать/решить ту или иную задачу. Это очень помогает. Когда сам разбираешь задачу, стараешься ее приподнести в виде структурированной заметки чтобы было все наглядно и просто, то процесс усвоения идет в гору. Также прошу на https://win.ekzorchik.ru https://lin.ekzorchik.ru https://net.ekzorchik.ru https://voip.ekzorchik.ru https;//home.ekzorchik.ru