1 000 000 полезных применений команды dd

Команда dd выполняет всего одну простую функцию: копирует данные из файла в другой файл. Но поскольку в Linux многие сущности представлены именно как файлы, то и применений у dd становится много. Рассмотрим наиболее полезные из них.

dd

А что значит dd?

dd — это сокращение от data duplicator (копирование данных). Но из-за того, что в неумелых руках команда dd может привести к полной потере всех данных, программу часто в шутку называют disk destroyer (разрушитель диска). Попытаемся разобраться как не только не уничтожить свои данные, но и даже извлечь пользу из применения dd.

Общий случай использования dd

Синтаксис команды следующий:

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

Команда скопирует данные из файла $input_data в файл $output_data, учитывая опции option. Казалось бы все просто. А теперь рассмотрим какие возможности открывает это простое копирование.

Примеры использования dd

1. Уничтожение всех данных на диске без возможности восстановления:

dd if=/dev/urandom of=/dev/sda bs=4k

2. Полное побайтное копирование одного диска на другой (клонирование):

dd if=/dev/sda of=/dev/sdb bs=4096

3. Копирование одного раздела в другой:

dd if=/dev/sda3 of=/dev/sdb3 bs=4096 conv=notrunc,noerror

4. Отображение списка доступных файловых систем:

dd if=/proc/filesystems | hexdump -C | less

5. Копирование данных на устройствах с разным размером блока (1Кб у источника и 2 Кб у приемника):

dd if=/dev/st0 ibs=1024 obs=2048 of=/dev/st1

6. Создать загрузочную флешку:

dd if=/home/$user/bootimage.img of=/dev/sdc

7. Проверить диск на сбойные сектора:

dd if=/dev/sda of=/dev/null bs=1m

8. Создание резервной копии MBR диска и сохранение на дискету

dd if=/dev/sda of=/dev/fd0 bs=512 count=1

9. Снятие образа ISO с компакт-диска:

dd if=/dev/sr0 of=/home/$user/mycdimage.iso bs=2048 conv=nosync

10. Проверка файла на вирусы (разумеется, потребуется ClamAV):

dd if=/home/$user/suspicious.doc | clamscan -

11. Сохранение содержимого ОЗУ в файл:

dd if=/dev/mem of=/home/$user/mem.bin bs=1024

12. Конвертация образа из формата Nero NRG в стандартный образ ISO:

dd bs=1k if=imagefile.nrg of=imagefile.iso skip=300k

13. Просмотр содержимого MBR:

dd if=/dev/sda count=1 | hexdump -C

А где же обещанный миллион применений?

Наблюдательный читатель, вероятно, заметит, что в статье перечислен не миллион полезных применений, а несколько меньше. Но в том и заключается мощь программы dd, что остальные применения пользователь может найти самостоятельно, комбинируя разные файлы в качестве параметров if, of и подбирая нужные опции. Только не забудьте, что работа с dd требует повышенного внимания. Если вы не знаете точно какие действия будут выполнены, то лучше воздержитесь от экспериментов. Старайтесь не давать dd права суперпользователя, когда без этих прав можно обойтись.

В комментариях с радостью принимаются ваши собственные примеры использования этой замечательной программы.

Использованы материалы с сайта LinuxCareer.com.

field_vote: 
Ваша оценка: Нет Средняя: 5 (8 оценки)
Главная тема: 
Пользовательские теги: 

Комментарии

dd войдёт в НПП?

Оценка: 
Средняя: 5 (3 оценки)

А почему у Вас возникают сомнения? dd давно является частью стандарта и многие программы предполагают наличие в системе dd. Удаление этой программы создаст много проблем, но не дает никаких преимуществ.

Оценка: 
Средняя: 5 (2 оценки)

С этой программой гораздо больше шансов на успех, чем с "графическими мутантами" :)

Оценка: 
Пока без оценки

Комментировать

Filtered HTML

  • Use [fn]...[/fn] (or <fn>...</fn>) to insert automatically numbered footnotes.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <strike> <code> <h2> <h3> <h4> <h5> <del> <img>
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.