Команда dd Linux

Зачастую сисадмины во время работы копируют разнообразные двоичные данные. К примеру, это может быть необходимо в том случае, когда надо создать резервную копию всего жесткого диска. Копирование двоичных файлов может понадобиться при создании пустого файла, который заполняется нулями в целях организации пространственной подкачки или виртуальной файловой систематизации.

Чтобы решить вышеописанные задачи в максимально сжатые сроки, нужно воспользоваться специальной программой dd Linux. Она копирует информацию из одного места в другое, использует при этом двоичные уровни. Утилита способна скопировать как раздел на диске, так и жесткий диск целиком. Стоит максимально подробно рассмотреть особенности команды dd Linux, ее основные функции и показатели. В статье будет рассказано, как управлять утилитой.

Принцип работы dd Linux

Изначально требуется понять, что представляет собой эта утилита и как она работает. Иными словами, dd Linux – это утилита для копирования данных СР. Нужно заметить, что она используется только для блочного типа информации. Команда способна перенести в пределах одного блока данные, имеющие предварительно выбранный размер, а также информацию из одного места в иное. В ОС Linux устройства являются файлами. У пользователя имеется возможность перенаправлять устройства в файлы, а также совершать операции в обратном порядке.

Утилита имеет большое количество параметров, способных повлиять на размер используемого блока. Такая особенность сильно влияет на скорость работы самой программы. Приложение dd Linux отличается хорошей функциональностью.

Синтаксис

У данной утилиты странный и слегка сложный синтаксис. Несмотря на это, он весьма прост. Пользоваться программой легко, вы быстро запомните алгоритм и привыкнете к нему.

dd if=[что копировать] of=[куда копировать] параметры

С использованием параметра «if» потребуется прописать что копировать (источник). В "of" можно написать файл или устройство, например флешку или HDD диск.

Основные параметры:

  • «bs» - количество байт, которые будут читаться и записываться за один раз.
  • «cbs» - число байт, записываемых за один раз.
  • «count» - число скопированных блоков. Размер блока прописывается в опции «bs».
  • «ibs» - чтение определенного числа байт за 1 раз.
  • «obs» - записывание определенного числа байт за 1 раз.
  • «seek» - пропуск определенного числа байт в самом начале устройства во время чтения.
  • «skip» - пропуск определенного числа байт в самом начале при выводе.
  • «status» - подробность вывода.
  • «iflag», «oflag» - создание дополнительных флагов, которые нужны для ввода или вывода.
  • --help - показывает справку.
  • --version - показывает информацию о версии утилиты.

Выше описаны наиболее популярные функции, которые могут потребоваться вам при использовании программы dd Linux.

Примеры

Утилита чаще всего применяется для формирования образов DVD- и CD-дисков. Для их сохранения в виде образа iso существуют определенные команды. Чтобы программа не реагировала на ошибки, можно запустить фильтр noerror. Далее создается образ, который в последующем сохраняется на диск.

Чтобы сделать образ, узнаем разметку диска, с помощью dh.

df -h

df -h

Сделаем образ раздела /home, файловая разметка /dev/sda6 в каталог /root/home.iso. В качестве аргумента укажем "noerror" - не выдавать ошибки. Также ограничим  максимальный размер файла на 4096 байт.

dd if=/dev/sda6 of=/root/home.iso bs=4096 conv=noerror

ddifof

Таким образом делаются образы жестких дисков, флешек, оптических приводов.

Создание образа

Как видно из примера выше, в каталоге /root появился файл home.iso. В дальнейшем его можно развернуть. Он позволит восстановить испорченную в ходе использования систему, в нашем случае файлы каталога home.

Весьма полезный параметр – «bs». Он в значительной мере влияет на скорость работы самой программы. Этот аргумент дает возможность установить размер блока во время передачи информации. Предварительно задается цифровое значение, где указывается один из модификаторов.

Модификаторы формата

Как было сказано выше,  dd Linux позволяет записать информацию на диск или в определенный раздел именно в двоичном виде. В этом случае записываются как нули, так и единицы. Для очистки диска достаточно наполнить его нулями.

Создадим образ диска. Пусть /dev/cdrom1 это наш оптический привод, cdrom.

# dd if=/dev/cdrom1 of=/home/samba/disk/obraz.iso

Программа является практически незаменимым инструментом для эффективной работы системного администратора. С использованием данной программы можно создавать копию всей системы. Команда весьма полезна, имеет множество сфер применения.