Відмінності між версіями «Dd»

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук
Рядок 18: Рядок 18:
 
| dd if=/dev/urandom of=/dev/sda bs=4k
 
| dd if=/dev/urandom of=/dev/sda bs=4k
 
| Заповнює пристрій випадковими даними
 
| Заповнює пристрій випадковими даними
 +
|-
 +
| dd if=/dev/sda of=/dev/sdb bs=4096
 +
| Побайтне копіювання даних з пристрою на пристрій
 +
|-
 +
| dd if=/dev/zero of=/dev/sda bs=4k
 +
| Очищення жорсткого диска (для повної впевненості у знищенні даних можна виконати кілька разів)
 +
|-
 +
| dd if=inputfile of=/dev/st0 bs=32k conv=sync
 +
| Копіювання файлу на стрічковий пристрій
 +
|-
 +
| dd if=/dev/st0 of=outfile bs=32k conv=sync
 +
| Копіювання файлу з стрічкового пристрою
 +
|-
 +
| dd if=/dev/sda | hexdump -C | grep [^00]
 +
| Перевіряє, чи заповнений диск нулями
 +
|-
 +
| dd if=/dev/urandom of=/home/$user/hugefile\bs=4096
 +
| Заповнює розділ (потрібно бути обережним з системними розділами)
 +
|-
 +
| ls -l myfile
 +
-rw-r--r-- 6703104 Oct 31 18:25 myfile
 +
dd if=/dev/urandom of=myfile bs=6703104 count=1
 +
| Перемішує вміст файлу (може застосовуватися перед його видаленням)
 +
|-
 +
| dd if=/dev/sda3 of=/dev/sdb3 bs=4096 \
 +
conv=notrunc,noerror
 +
| Копіює розділ до іншого розділу
 +
|-
 +
| dd if=/proc/filesystems | hexdump -C | less
 +
| Перегляд доступних файлових систем
 +
|-
 +
| dd if=/proc/partitions | hexdump -C | less
 +
| Перегляд розмірів доступних тем у кБ
 +
|-
 +
| dd if=/dev/sdb2 ibs=4096 | gzip > partition.image.gz \
 +
conv=noerror
 +
| Створює стиснений образ другого диска
 +
 +
 
|}
 
|}

Версія за 21:16, 12 травня 2013

dd (англ. dataset definition — визначення набору даних) — команда Unix, призначена для низькорівневого копіювання і конвертації необроблених (raw) даних. Команда використовується для копіювання визначеної кількості байтів чи блоків, заміни порядку байтів, копіювання областей файлів пристроїв, резервного копіювання завантажувального сектору жорсткого диску, або читання фіксованої кількості даних зі спеціальних файлів /dev/zero чи /dev/random.

Команду dd жартома називають "винищувач диску" ("disk destroyer"), "винищувач даних" ("data destroyer"), чи "стерти дані" ("delete data"), оскільки при виконанні низькорівневих операцій навіть незначна помилка (така, як переплутати параметри if та of) може призвести до втрати деяких або навіть усіх даних на диску.

Синтаксис команди dd:

$ dd if=$input_data of=$output_data [options]


Вхідними та вихідними даними можуть бути диски, розділи, файли, пристрої ... практично все, з чого можна зчитувати інформацію, і куди її можна записувати. За допомогою dd можна також пересилати дані, наприклад, по локальній мережі. Можна використовувати вхідну частину команди, або тільки вихідну, а в деяких випадках можуть бути відсутні обидві частини. Все це проіллюстіровано в представленій нижче таблиці:

Синтаксис команди Опис

Файлові системи

dd if=/dev/urandom of=/dev/sda bs=4k Заповнює пристрій випадковими даними
dd if=/dev/sda of=/dev/sdb bs=4096 Побайтне копіювання даних з пристрою на пристрій
dd if=/dev/zero of=/dev/sda bs=4k Очищення жорсткого диска (для повної впевненості у знищенні даних можна виконати кілька разів)
dd if=inputfile of=/dev/st0 bs=32k conv=sync Копіювання файлу на стрічковий пристрій
dd if=/dev/st0 of=outfile bs=32k conv=sync Копіювання файлу з стрічкового пристрою
hexdump -C | grep [^00] Перевіряє, чи заповнений диск нулями
dd if=/dev/urandom of=/home/$user/hugefile\bs=4096 Заповнює розділ (потрібно бути обережним з системними розділами)
ls -l myfile

-rw-r--r-- 6703104 Oct 31 18:25 myfile dd if=/dev/urandom of=myfile bs=6703104 count=1

Перемішує вміст файлу (може застосовуватися перед його видаленням)
dd if=/dev/sda3 of=/dev/sdb3 bs=4096 \

conv=notrunc,noerror

Копіює розділ до іншого розділу
hexdump -C | less Перегляд доступних файлових систем
hexdump -C | less Перегляд розмірів доступних тем у кБ
gzip > partition.image.gz \

conv=noerror

Створює стиснений образ другого диска