НАЗВА

dd - перетворює і копіює файл

СИНОПСИС

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

ОПИС

dd програма копіює файл (із стандартного вводу у стандартний вивід за замовчуванням), використовуючи задані розміри блоків для вводу і виводу, одночасно, по бажанню, виконуючи їхнє перетворення.

Вона читає ввід по одному блоку за раз, використовуючи вказані розміри ввідних блоків (за замовчуванням - 512 байтів). Якщо була надана bs=байти опція і жодних інших перетворень, крім sync, noerror або notrunc було вказано, dd записує прочитані нею дані (яких може бути менше ніж вимагалося) у окремий блок виводу. Блок виводу матиме той самий розмір що й прочитаний блок, хіба sync перетворення було вказане, в останньому випадку дані будуть доповнені до повного блока нулями (NUL) або пропусками (дивіться нижче).

В протилежному випадку, ввід прочитано по одному блоку за раз, відбувається обробка і результат накопичується і записується у блоках розміром що вказаний як розмір блоку виводу. Кінцеві блоки виводу можуть виявитись коротшими.

Числові значення нижче (байти і блоки) можуть бути записаними з множником наприкінці: k'=1024,b'=512, w'=2,c'=1 (w' таc' є GNU розширенням; w' краще ніколи не використовувати - воно означає 2 на System V і 4 на 4.2BSD). Два або більше таких числових виразів можуть бути помноженими якщо додатиx' між ними. GNU fileutils-4.0 також дозволяє наступні мультиплікативні суфікси у вказівці розмірів блоків (bs=, cbs=, ibs=, obs=): M=1048576, G=1073741824 і так далі - для T, P, E, Z, Y. Суфікс `D' перетворює значення на десяткові: kD=1000, MD=1000000, GD=1000000000, тощо. (Зауважте що для ls, df, du розмір M і.т.д визначається змінними середовища, тоді як для dd він сталий).

ОПЦІЇ

if=файл : Прочитати з файла (input file) замість стандартного вводу.

of=файл : Здійснити запис у файл (output file) замість стандартного виводу. За винятком коли conv=notrunc опція надана, dd зменшує розмір файла до нуль байтів (або розміру вказаного seek=).

ibs=байтів : Вказує кількість байтів що буде прочитано за раз. За замовчуванням - 512.

obs=байтів : Вказує кількість байтів що буде записана за раз. За замовчуванням - 512.

bs=байтів : Встановлює обидва, кількість байтів читання і запису за раз. Ця опція пересилює ibs та obs. (Встановлення bs не є тим самим що й одночасне встановлення ibs і obs до того самого значення, принаймні тоді коли не вказані додаткові опції окрім sync, noerror та notrunc, оскільки вона передбачає що кожний ввідний блок буде копійовано до виводу як єдиний блок, без об'єднання коротких блоків.

cbs=байтів : Вказує розмір блоків перетворень block та unblock.

skip=блоків : Вказує скільки блоків ibs-байтової довжини пропустити у файлі вводу перед тим як розпочати копіювання.

seek=блоків : Вказує скільки блоків obs-байтової довжини пропустити у файлі для виводу перед тим як розпочати копіювання.

count=блоків : Кількість блоків ibs-байтової довжини що буде копійованою з файлу вводу, замість всього файла як звичайно.

conv=ПЕРЕТВОРЕННЯ[,ПЕРЕТВОРЕННЯ]... : Трансформує файл як вказано аргументом (або аргументами) ПЕРЕТВОРЕННЯ. У випадку декількох аргументів, уникайте пробілів між комами.

Перетворення:

ascii : Переведе EBCDIC у ASCII.

ebcdic : Переведе ASCII у EBCDIC.

ibm : Переведе ASCII у альтернативний EBCDIC.

block : Для кожного рядка файла вводу, виведе cbs байтів, замінюючи символ нового рядка на пробіл і доповнюючи пробілами по необхідності.

unblock : Замінить кінцеві пробіли кожного ввідного блоку cbs величини символом нового рядка.

lcase : Замінить літери верхнього регістру на нижній.

ucase : Замінить літери нижнього регістру на верхній.

swab : Поміняє місцями кожну пару байтів вводу. У випадку непарної кількості байтів, останній буде просто копійованим (оскільки немає з чим поміняти його місцями). [POSIX 1003.2b, PASC інтерпретації 1003.2 #3 і #4]

noerror : Продовжуватиме у випадку помилок читання.

notrunc : Не вкорочуватиме файл виводу.

sync : Доповнить кожний блок вводу хвостовими нульовими байтами до ibs розміру.

GNU СТАНДАРТНІ ОПЦІЇ

--help : Виведе повідомлення про використання команди на стандартний вивід і вийде з успішним статусом завершення роботи.

--version : Видрукує версію програми на стандартний вивід і вийде з успішним статусом завершення.

-- : Закінчує список опцій.

СЕРЕДОВИЩЕ

Змінні середовища LANG, LC_ALL, LC_CTYPE і LC_MESSAGES залишаються чинними.

ВІДПОВІДНІСТЬ СТАНДАРТАМ

POSIX 1003.2

ПРИКЛАД

Часто нагромаджувач на магнітній стрічці не сприйматиме блоків довільного розміру і dd видаватиме помилку вводу/виводу на останньому фрагменті даних, який не заповнив цілий блок. Використайте `dd if=myfile of=/dev/mytape conv=sync' щоб розмістити все на стрічці. Звичайно, зворотнє його зчитування видасть тепер дещо більший файл, з нульовими байтами доданими до кінця.

ПРИМІТКИ

Ця сторінка описує dd що постачається з пакетом fileutils-4.0, інші версії можуть трохи відрізнятись. Поправки і доповнення висилайте на aeb@cwi.nl. Доповіді про вади - на fileutils-bugs@gnu.ai.mit.edu.