dd = "Дамп диска".
Эта утилита взята из исходной операционной системы UNIX System, где было обычным делом реплицировать вторичную память (устройства большой емкости в операционной системе «Виртуальная память»). Это может делать dd, бит за битом, байт за байтом, сектор за сектором, трек за треком и т. д. Он также может переворачивать биты, конвертировать EBCDIC в ASCII, изменять размеры блоков и выполнять практически любые другие двоичные операции, которые вы хотите / необходимо переместить / преобразовать / восстановить данные хранилища. Устройства хранения данных (все) в те дни были намного медленнее, менее плотными и гораздо менее надежными, чем сегодня. Нам приходилось все время заменять / ремонтировать «магнитные запоминающие устройства с произвольным доступом» (например, дисководы, дискеты и жесткие диски, магнитные цилиндры и т. Д.).
В случае поломки головы или другого катастрофического отказа устройства хранения, «dd» был (и остается) одной из моих любимых утилит для извлечения того, что я мог, на новое устройство. Как только новое устройство было установлено, я мог использовать fsck (проверка файловой системы) и fsdb (отладчик файловой системы), чтобы восстановить / восстановить некоторые поврежденные файловые системы и, возможно, извлечь некоторые данные.
Это была также наша первая элементарная резервная система. Процесс приложения (dd) может работать как «суперпользователь» и выполнять чтение / запись напрямую через подсистему ввода-вывода (ядро) через символьный (необработанный) или драйвер блочного устройства [точки входа], обходя файловую систему (ядро), но полностью репликация конструкции файловой системы на новое устройство. dd (как и любая другая базовая утилита UNIX) также имеет возможность читать из стандартного ввода и записывать в стандартный вывод, что позволяет использовать его для других целей в сценарии оболочки :-) ....