logo

Команда «dd» у Linux

дд це утиліта командного рядка для Unix і Unix-подібних операційних систем, основною метою якої є перетворення та копіювання файлів.

  • В Unix драйвери апаратних засобів (наприклад, жорсткі диски) і файли спеціальних пристроїв (наприклад, /dev/zero та /dev/random) відображаються у файловій системі так само, як звичайні файли.
  • dd також може читати та/або записувати з/у ці файли, за умови, що ця функція реалізована у відповідних драйверах
  • У результаті dd можна використовувати для таких завдань, як резервне копіювання завантажувального сектора жорсткого диска та отримання фіксованої кількості випадкових даних.
  • Програма dd також може виконувати перетворення даних під час їх копіювання, включаючи заміну порядку байтів і перетворення в текстові кодування ASCII і EBCDIC і з них.

Використання: Синтаксис командного рядка dd відрізняється від багатьох інших програм Unix тим, що він використовує синтаксис параметр=значення для його параметрів командного рядка, а не більш стандартного - значення опції або –параметр=значення форматів. За замовчуванням dd читає з stdin і записує в stdout, але це можна змінити за допомогою параметрів if (вхідний файл) і of (вихідний файл).

Деякі практичні приклади команди dd:



    Щоб створити резервну копію всього жорсткого диска: щоб створити резервну копію всієї копії жорсткого диска на іншому жорсткому диску, підключеному до тієї ж системи, виконайте команду dd, як показано. У цьому прикладі команди dd ім’я пристрою UNIX для вихідного жорсткого диска – /dev/hda, а ім’я цільового жорсткого диска – /dev/hdb.
     # dd if=/dev/sda of=/dev/sdb>
    • якщо представляє вхідний файл і з представляє вихідний файл. Тож точна копія /dev/sda буде доступний у /dev/sdb .
    • Якщо є будь-які помилки, команда вище не вдасться виконати. Якщо дати параметр conv=немає помилок потім він продовжить копіювати, якщо є помилки читання.
    • Вхідний файл і вихідний файл слід згадувати дуже уважно. Про всяк випадок, якщо ви згадаєте вихідний пристрій у цільовому і навпаки, ви можете втратити всі свої дані.
    • Щоб скопіювати жорсткий диск на жорсткий диск, використовуючи наведену нижче команду dd, опція синхронізації дозволяє копіювати все за допомогою синхронізованого введення-виведення.
       # dd if=/dev/sda of=/dev/sdb conv=noerror, sync>
    Щоб створити резервну копію розділу: ви можете використовувати назву пристрою розділу у вхідному файлі, а у вихідних даних ви можете вказати цільовий шлях або файл зображення, як показано в команді dd.
     # dd if=/dev/hda1 of=~/partition.img>
    Щоб створити образ жорсткого диска: замість створення резервної копії жорсткого диска ви можете створити файл образу жорсткого диска та зберегти його на інших пристроях зберігання. Резервне копіювання даних на образ диска має багато переваг, одна з яких полягає в простоті використання. Цей метод зазвичай швидший за інші типи резервного копіювання, що дозволяє швидко відновити дані після неочікуваної катастрофи. Він створює образ жорсткого диска /dev/hda.
     # dd if=/dev/hda of=~/hdadisk.img>
    Відновлення за допомогою образу жорсткого диска: Щоб відновити жорсткий диск за допомогою файлу образу іншого жорсткого диска, можна використати наступну команду dd
     # dd if=hdadisk.img of=/dev/hdb>

    Файл зображення hdadisk.img — це образ /dev/hda, тому наведена вище команда відновить образ /dev/hda до /dev/hdb. Щоб створити резервну копію компакт-диска: команда dd дозволяє створити файл iso з вихідного файлу. Отже, ми можемо вставити компакт-диск і ввести команду dd, щоб створити iso-файл вмісту компакт-диска.

     # dd if=/dev/cdrom of=tgsservice.iso bs=2048>

    Команда dd читає один блок введення, обробляє його та записує у вихідний файл. Ви можете вказати розмір блоку для вхідного та вихідного файлів. У наведеному вище прикладі команди dd параметр bs визначає розмір блоку для вхідного та вихідного файлів. Отже, dd використовує 2048 байт як розмір блоку у наведеній вище команді.

Література: