dd

Преобразование файла при его копировании (UNIX)

Синтаксис:

dd [if=входной_файл] [of=выходной_файл] [опции]

Опции:

if=входной_файл
Выполнять чтение из файла входной_файл вместо стандартного потока ввода.
of=выходной_файл
Выполнять запись в файл выходной_файл вместо стандартного устройства вывода. Если не указано значение conv=notrunc, то файл обрезается до размера, заданного значением seek (если значение для seek не указано, то оно равно 0 байт).
ibs=байты
Выполнять чтение указанного числа байтов (байты) за одну операцию.
obs=байты
Выполнять запись указанного числа байтов (байты) за одну операцию.
bs=байты
Выполнять запись и чтение указанного числа байтов (байты) за одну операцию. Действие опций ibs и obs отменяется.
cbs=байты
Преобразовать указанное число байтов (байты) за одну операцию.
skip=блоки
Пропустить указанное число блоков (блоки) размера ibs при начале ввода.
seek=блоки
Пропустить указанное число блоков (блоки) размера obs при начале вывода.
count=блоки
Копировать только указанное число входных блоков (блоки), размера ibs.
conv=преобразование[,преобразование...]
Преобразовать файл в соответствии с аргументами преобразование. Преобразование может быть следующим:

ascii
Преобразование EBCDIC в ASCII (совместимо с POSIX и System V).
oldascii
Преобразование EBCDIC в ASCII (совместимо с 32V).
ebcdic
Преобразование ASCII в EBCDIC (совместимо с POSIX и System V).
oldebcdic
Преобразование ASCII в EBCDIC (совместимо с 32V).
ibm
Преобразование ASCII в альтернативную кодировку EBCDIC (совместимо с POSIX и System V).
oldibm
Преобразование ASCII в альтернативную кодировку EBCDIC (совместимо с 32V).
block
Дополнение записей, заканчивающихся символом новой строки, до размера cbs с заменой символа новой строки конечными пробелами.
unblock
Замена конечных пробелов в блоке размером cbs на символ новой строки.
lcase
Замена символов верхнего регистра на символы нижнего регистра.
ucase
Замена символов нижнего регистра на символы верхнего регистра.
swab
Перестановка байтов местами в каждой паре входных байтов. В отличие от команды dd в UNIX, эта команда работает и при нечетном числе считанных байтов. Если входной файл содержит нечетное число байтов, последний байт просто копируется (поскольку его не с чем менять местами).
noerror
Продолжение выполнения при получении ошибок чтения.
notrunc
Не обрезать выходной файл.
sync
Дополнение каждого входного блока до размера ibs путем добавления конечных нулей.


Note: Все числа можно указывать со следующими коэффициентами:
b
Блоки (х512).
k
Килобайты (х1024).
w
Слова (х2).
xm
Умножение на m.

Платформы:

ЗОСРВ «Нейтрино»

Целевые архитектуры:

aarch64, arm, armv7, e2k, mips, ppc, x86

Описание:

Утилита dd копирует файл (по умолчанию – из стандартного потока ввода на стандартное устройство вывода) с пользовательским размером блоков и, при необходимости, преобразует его. Эта утилита предназначена для записи необработанных данных непосредственно на такие устройства, как лента или диск, а также для записи по сети, с управлением посредством коэффициентов разделения на блоки и трансляции наборов символов.

Эту команду можно использовать для копирования неполных файлов. Можно указать размер блока, число пропусков и число копируемых блоков. По умолчанию размеры указываются в байтах; к числам можно добавлять символы w, b или k для указания размеров соответственно в словах (по 2 байта), блоках (по 512 байтов) или килобайтах (по 1024 байта). После завершения работы утилиты dd выводится число считанных и записанных полных и неполных блоков.

Примеры:

Копирование файла файл1 в файл файл2 с преобразованием всего текста в символы нижнего регистра:

dd if=file1 of=file2 conv=lcase

Возвращаемое значение:

0
Операция копирования и преобразования выполнена успешно.
>0
Возникла ошибка.

Классификация:

Базовые подсистемы ЗОСРВ «Нейтрино», UNIX, NetBSD

В ЗОСРВ «Нейтрино» редакции 2020 утилита обновлена до версии NetBSD 9.1

Тематические ссылки:

cat, cp, pax, head, tr




Предыдущий раздел: Утилиты