- Dd
-
dd
dd (англ. dataset definition — oпределение набора данных) — программа Unix, предназначенная как для копирования, так и для конвертации файлов.
Содержание
Введение
Поскольку в Unix очень многие объекты являются файлами, спектр применения dd гораздо более широк, чем кажется на первый взгляд. Регулярно возникает необходимость не просто скопировать файл или несколько файлов (для чего предназначена утилита cp), а скопировать первые n байт файла, пропустить m байт от начала, прочитать файл с дефектного носителя, транслировать содержимое файла в ASCII, «развернуть» порядок байт в файле (Little-Endian vs. Big-Endian), просто скопировать очень большой файл или все вместе взятое. Для этой цели и служит dd.
Некоторые параметры
При написании статьи были использованы материалы man dd, описывающие версию dd от GNU. Версии dd на других операционных системах могут отличаться.
Базовые параметры
- if=файл — читает данные из файла вместо стандартного ввода.
- of=файл — пишет данные в файл вместо стандартного вывода.
- bs=n — размер блока.
- ibs=nn и obs=nn — задаёт, сколько байтов нужно считывать или записывать за раз.
- count=n — сколько блоков скопировать.
- seek=n — сколько блоков пропустить от начала в результрующим файле.
- skip=n — сколько блоков от начала файла пропустить перед началом копирования.
- conv=фильтр,фильтр — применить фильтры конвертациии.
- ascii — сконвертировать в ASCII из EBCDIC…
- ebcdic — … и наоборот.
- block — выравнивание блоков.
- lcase — преобразовать к нижнему регистру.
- ucase — преобразовать к верхнему регистру.
- swap — менять местами пары байт.
- noerror — игнорировать ошибки ввода-вывода.
Примеры использования
Распаковать ISO-образ "obraz.iso" в папку "/home/root/exISO":
dd if=obraz.iso of=/home/root/exISO/Записать ISO-образ "obraz.iso" на раздел sdb1 вместе с его загрузочным сектором и форматированием раздела в файловую систему образа (как правило, ISO 9660(еще называют isofs) или UDF):
dd if=obraz.iso of=/dev/sdb1Скопировать файл foo в файл bar:
dd if=foo of=barСкопировать файл foo в файл bar, пропустив первые 10 КБ из файла foo:
dd if=foo of=bar bs=1k skip=10Порезать 10-мегабайтный файл foo на 2 по 5 МБ:
dd if=foo of=bar.0 bs=1M count=5 dd if=foo of=bar.1 bs=1M skip=5Склеить пять 100-мегабайтных файлов в один:
dd if=SMILE.001 of=SMILE bs=1M seek=0 dd if=SMILE.002 of=SMILE bs=1M seek=100 dd if=SMILE.003 of=SMILE bs=1M seek=200 dd if=SMILE.004 of=SMILE bs=1M seek=300а можно и так:
dd if=SMILE.001 > SMILE dd if=SMILE.002 >> SMILE dd if=SMILE.003 >> SMILE dd if=SMILE.004 >> SMILE
Вывести на экран (в /dev/stdout) первые 256 байт файла foo:dd if=foo of=/dev/stdout bs=128 count=2или:
dd if=foo bs=128 count=2Предыдущая команда годится только для просмотра текстового файла. Содержимое бинарного файла рекомендуется смотреть так:
dd if=foo bs=1 count=10 2>/dev/null|hexdumpСделать image компакт-диска/DVD, используя большой размер блока. Игнорировать ошибки:
dd if=/dev/cdrom of=backup.iso bs=65535 conv=noerrorДля создания образа компакт-диска/DVD, лучше использовать команду readcd из стандартного пакета cdrecord:
readcd dev=/dev/cdrom f=backup.isoУничтожить содержимое устройства /dev/sdg, заполнив его «нулями» из /dev/zero:
dd if=/dev/zero of=/dev/sdg bs=65535Сделать копию главной загрузочной записи первого жёсткого диска:
dd if=/dev/hda of=bootloader.mbr bs=1 count=512Копировать всё, кроме метки, с диска на ленту:
(dd bs=4k skip=1 count=0 && dd bs=512k) <$disk >$tapeКопировать всё, не перезаписывая метку, с ленты на диск:
(dd bs=4k seek=1 count=0 && dd bs=512k) <$tape >$diskУзнать статус выполнения операции:
killall -USR1 ddСм. также
Ссылки
- — страница справки man по пользовательским командам GNU/Linux (англ.)
- dd: Команда, которая не похожа на другие
- Реализация dd под Windows
- 101-й способ записи Линукс(и не только) на флешку
Программное обеспечение для записи оптических дисков Windows Alcohol 120% · Ashampoo Burning Studio · BlindWrite · Burn4Free · BurnAware · CDBurnerXP · CDRoller · CDRWin · Cheetah DVD Burner · CloneCD/DVD · CopyToDVD · DiscJuggler · DeepBurner · Drag-to-Disc · DVD Decrypter · DVDFab · Easy Media Creator · Express Burn · Final Burner · GameJackal · GEAR Video · ISO Master · ImgBurn · InCD · InfraRecorder · IsoBuster · Nero Burning ROM · Oront Burning Kit · Small CD-Writer · Smartripper · Ulead DVD MovieFactory · UltraISO · Undisker · UsefulUtils Discs Studio · WinImage Macintosh Burn · Disk Utility · Roxio Toast · Disco Linux Brasero · CDemu · cdrkit · Cdrskin · GEAR PRO Linux · growisofs · K3b · K9Copy · Nero Burning ROM · X-CD-Roast Unix-like Brasero · cdrtools · dd · dvd+rw-tools · GEAR PRO Unix · K3b
Wikimedia Foundation. 2010.