Movatterモバイル変換


[0]ホーム

URL:


Перейти до вмісту
Вікіпедія
Пошук

dd

Неперевірена версія(що робити?)
Матеріал з Вікіпедії — вільної енциклопедії.

Статус версії сторінки

Сторінка не перевірена

Немаєперевірених версій цієї сторінки; ймовірно, її щене перевіряли на відповідність правилам проєкту.

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

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

Синтаксис

[ред. |ред. код]

Синтаксис командиdd істотно відрізняється в залежності відОС, тому узагальнити опис використання непросто. Загалом,dd використовує форматoption=value, тоді як більшість Unix-команд мають вигляд-option value або--option=value. Такожdd використовує параметриif для задання вхідного файлу (тоді як більшість команд безпосередньо приймають ім'я файлу) таof — для файлу виводу.

Команда має таку загальну форму (квадратні дужки[…] значать, що параметр — необов'язковий):

dd [--help] [--version] [if=файл] [of=файл] [bs=байтів] [ibs=байтів] [obs=байтів] [cbs=байтів] [count=блоків] [seek=блоків] [skip=блоків] [conv={ascii, ebcdic, ibm, block, unblock, lcase, ucase, swab, noerror, notrunc, sync}]

Параметри

[ред. |ред. код]
  • if=файл — читає дані зфайла замість стандартного вводу.
  • of=файл — пише дані уфайл-призначення замість стандартного виводу.
  • bs=байтів — встановлює розмірблоку (кількістьбайтів читання й запису за раз). Ця опція пересилюєibs таobs.
  • ibs=байтів — задає розмірблокубайтах) для зчитування за раз (типово — 512)…
  • obs=байтів — … і для запису за раз (типово — 512).
  • cbs=байтів — вказує розмір блоків (убайтах) перетворень дляфільтрівblock таunblock.
  • count=блоків — скількиблоківibs-байтової довжини копіювати.
  • seek=блоків — вказує, скількиблоківobs-байтової довжини пропустити уфайлі-призначення перед початком копіювання.
  • skip=блоків — скількиблоківibs-байтової довжини пропустити уфайлі вводу перед тим, як розпочати копіювання.
  • conv=фільтр1[,фільтр2,…,фільтрN] (без прогалин між комами) — застосуватифільтр(и) для конвертації:
    • ascii — конвертувати вASCII зEBCDIC
    • ebcdic — … і навпаки.
    • block — вирівнювання блоків (для кожного рядка файлу вводу виведеcbs байтів, замінюючи символ нового рядка на пробіл і доповнюючи пробілами, за необхідності).
    • unblock — замінить кінцеві пробіли кожного ввідного блоку з розміромcbs символом нового рядка.
    • lcase — замінить літери верхнього регістру на нижній…
    • ucase — … і навпаки.
    • swab — поміняє місцями кожну пару байтів вводу, останній непарний (коли є) просто скопіюється.
    • noerror — ігнорувати помилки вводу-виводу.
    • notrunc — не вкорочуватиме файл виводу.
    • sync — доповнить кожний блок вводу хвостовими нульовими байтами доibs-розміру.
  • -- — закінчує список параметрів.

Кількістьблоків ібайтів може бути вказана за допомогою суфіксів множення:c =1,w =2,b =512,kB =1000,K =1024,MB =1000*1000,M =1024*1024,xM =MGB =1000*1000*1000,G =1024*1024*1024, те ж саме дляT,P,E,Z,Y.

Використання

[ред. |ред. код]

Робота з CD/DVD-дисками й образами

[ред. |ред. код]

Приклад використання командиdd для створенняобразу диску з CD-ROM:

ddif=/dev/cdromof=/home/sam/myCD.isobs=2048conv=sync

Створитиобраз CD/DVD, використовуючи розмір блоку, ігноруючи помилки:

ddif=/dev/cdromof=backup.isobs=65535conv=noerror

ЗаписатиISO-образ «image.iso» на розділ sdb1 разом із йогозавантажувальним сектором і форматуванням розділу вфайловій системі образа (як правило,ISO 9660 абоUDF):

ddif=image.isoof=/dev/sdb1

Робота з файлами

[ред. |ред. код]

Скопіювати файл foo в файл bar:

ddif=fooof=bar

Скопіювати файл foo в файл bar, пропустивши перші 10 КБ із файлу foo:

ddif=fooof=barbs=1kskip=10

Порізати 10-мегабайтний файл foo на два по 5 МБ:

ddif=fooof=bar.0bs=1Mcount=5ddif=fooof=bar.1bs=1Mskip=5

Склеїти чотири 100-мегабайтних файли в один:

ddif=SMILE.001of=SMILEbs=1Mseek=0ddif=SMILE.002of=SMILEbs=1Mseek=100ddif=SMILE.003of=SMILEbs=1Mseek=200ddif=SMILE.004of=SMILEbs=1Mseek=300

а можна й так:

ddif=SMILE.001>SMILEddif=SMILE.002>>SMILEddif=SMILE.003>>SMILEddif=SMILE.004>>SMILE

або ж (для склеювання файлу із великої кількості шматків):

foriin{1..4};doddif=SMILE.00$i>>SMILEdone

Приклади вище показують можливості dd; на практиці, зазвичай, використовуєтьсяcat:

catSMILE.00{1,2,3,4}>>SMILE

або простіше, якщо немає зайвих файлів, що підпадають під маскуSMILE.*:

catSMILE.*>SMILE

Вивести на екран (у /dev/stdout) перші 256 байт файла foo:

ddif=fooof=/dev/stdoutbs=128count=2

або, враховуючи, що типовий файл виводу якраз і є/dev/stdout:

ddif=foobs=128count=2

Попередня команда придатна лише для перегляду текстового файлу. Вміст бінарного файлу рекомендується дивитися, перенаправивши вивід на командуhexdump:

ddif=foobs=1count=102>/dev/null|hexdump

Резервне копіювання й видалення даних

[ред. |ред. код]

Скопіювати один розділ жорсткого диску на інший жорсткий диск, ігноруючи помилки вводу-виводу:

ddif=/dev/sda1of=/dev/sdb2bs=4096conv=noerror

Зробити копіюголовного завантажувального запису (MBR) першого жорсткого диску:

ddif=/dev/hdaof=bootloader.mbrbs=1count=512

Копіювати все, крім мітки, з диску на магнітну стрічку:

(ddbs=4kskip=1count=0&&ddbs=512k)<$disk>$tape

Копіювати все, не перезаписуючи мітку, з магнітної стрічки на диск:

(ddbs=4kseek=1count=0&&ddbs=512k)<$tape>$disk

Знищити вміст пристрою/dev/sdg, заповнивши його «нулями» з/dev/zero:

ddif=/dev/zeroof=/dev/sdgbs=65535

Дізнатися статус виконання операції:

killall-USR1dd

В останніх версіях статус виконання операції можна відобразити в консолі, ввівши команду dd з параметром status=progress

   dd if=image.iso of=/dev/sdb status=progress

Див. також

[ред. |ред. код]

Посилання

[ред. |ред. код]
UNIX-команди, що запускаються в режимі командного рядка
Файлові системи:
Файли ікаталоги:
Процеси:
Користувачі:
Мережа:
Тексти:
Командний рядок:
Друк:
Пошук:
Різне:
Кросплатформні
Windows
Alcohol 120% · Ashampoo Burning Studio · Astroburn · Audiograbber · BlindWrite · BonkEnc · Burn4Free · BurnAware · CDBurnerXP · CDex · cdrdao · CDRoller · cdrtools · CDRWin · CDRWin · Cheetah DVD Burner · Clone CD/DVD · CopyTo · Daemon Tools · DiscJuggler · DeepBurner · Drag-to-Disc · Drive Letter Access · dvd+rw-tools · DVD Decrypter · DVDFab · Dvdisaster · Roxio Easy Media Creator · Exact Audio Copy · Express Burn · Final Burner · fre:ac · GameJackal · GEAR Video · ISODisk · ImgBurn · InCD · InfraRecorder · IsoBuster · MagicISO · Nero Burning ROM · Nero Multimedia Suite · Oront Burning Kit · PowerISO · Saturn Disk Image  · Small CD-Writer · Smartripper · Ulead DVD MovieFactory · UltraISO · Undisker · UsefulUtils Discs Studio · Virtual CloneDrive · WinCDEmu · WinImage
Macintosh
Unix-подібні ОС
Linux
Емулятори оптичних дисків
Редагуванняобразів
Отримано зhttps://uk.wikipedia.org/w/index.php?title=Dd&oldid=43250931
Категорії:
Прихована категорія:

[8]ページ先頭

©2009-2026 Movatter.jp