На странице руководства dd
, по крайней мере, в моей нынешней системе Debian Linux, для краткого обзора написано «скопировать и преобразовать файл». Это может быть немного запутанным.
Первоначально целью dd
было преобразование файла из формата IBM EBCDIC в формат ASCII. Он по-прежнему делает это, если вы укажете правильные параметры, но если у вас не будет лежать куча файлов с мэйнфреймов IBM, вы не будете так часто их использовать.
dd
просто копирует необработанные байты из входного файла (if=
) в выходной файл (of=
). Число байтов, которые он будет копировать, будет bs=
times count=
.
(Потенциально очень разрушительная) сила dd
заключается в том, что он не заботится о том, что указанные файлы являются реальными файлами, разделами необработанного диска (/dev/sda1
), всем устройством самого необработанного диска (/dev/sda
), стандартным вводом или выводом ленточный накопитель, флэш-устройство MTD, CMOS вашей системы (/dev/nvram
), графическая видеопамять (/dev/fb0
), память ядра (/dev/kmem
) и т. д. Это просто делает это.
Таким образом, поскольку таблица разделов жесткого диска находится на блоке 0 вашего жесткого диска, а длина этого блока составляет 512 байт, это создаст резервную копию таблицы разделов жесткого диска (и загрузчика первого этапа) в файл:
# dd if=/dev/sda of=sda.sector0.bin bs=512 count=1
Если вы хотите восстановить его по какой-либо причине, просто измените параметры if=
и of=
.
Если вы не укажете count=
, он будет работать до конца устройства. Это запишет нули на весь ваш жесткий диск:
# dd if=/dev/zero of=/dev/sda
Так что будьте осторожны.