Вернуться назад

Примеры команды dd

Синтаксис команды Описание
Файловые системы
dd if=/dev/urandom of=/dev/sda bs=4k
Заполняет устройство случайными данными
dd if=/dev/sda of=/dev/sdb bs=4096
Побайтное копирование данных с устройства на устройство
dd if=/dev/zero of=/dev/sda bs=4k
Очистка жесткого диска (для полной уверености в уничтожении данных можно выполнить несколько раз)
dd if=inputfile of=/dev/st0 bs=32k conv=sync
Копирование файла на ленточное устройство
dd if=/dev/st0 of=outfile bs=32k conv=sync
Копирование файла с ленточного устройства
dd if=/dev/sda | hexdump -C | grep [^00]
Проверяет, заполнен ли диск нулями
dd if=/dev/urandom of=/home/$user/hugefile\
bs=4096
Заполняет раздел (острожнее с системными разделами!)
ls -l myfile
-rw-r--r-- 6703104 Oct 31 18:25 myfile
dd if=/dev/urandom of=myfile bs=6703104 count=1
Перемешивает содержимое файла (может применяться перед его удалением)
dd if=/dev/sda3 of=/dev/sdb3 bs=4096 \
conv=notrunc,noerror
Копирует раздел в другой раздел
dd if=/proc/filesystems | hexdump -C | less
Просмотр доступных файловых систем
dd if=/proc/partitions | hexdump -C | less
Просмотр размеров доступных разделов в кБ
dd if=/dev/sdb2 ibs=4096 | gzip > partition.image.gz \
conv=noerror
Создает сжатый образ второго диска
dd bs=10240 cbs=80 conv=ascii,unblock\
 if=/dev/st0 of=ascii.out
Копирует содержимое ленточного устройства в файл, преобразуя кодировку EBCDIC в ASCII
dd if=/dev/st0 ibs=1024 obs=2048 of=/dev/st1
Копирует содержимое устройства с размером блока 1кБ на устройство с размером блока 2 кБ
dd if=/dev/zero of=/dev/null bs=100M count=100
100+0 records in
100+0 records out
10485760000 bytes (10 GB) copied,

5.62955 s, 1.9 GB/s
Копирует 10 ГБ нулей в никуда
dd if=/dev/zero of=/dev/sda bs=512 count=2
fdisk -s /dev/sda
dd if=/dev/zero of=/dev/sda seek=\
(number_of_sectors - 20) bs=1k
Удаляет таблицу разделов диска. Так как таблица разделов записывает данные в начало в конец диска, то после удаления данных с начала диска нам необходимо найти количество секторов (вторая команда), а затем стереть последние 20 секторов.
dd if=/home/$user/bootimage.img of=/dev/sdc
Создание загрузочного USB-диска (он показан как /dev/sdc)
dd if=/dev/sda of=/dev/null bs=1m
Хороший способ проверки диска на испорченные блоки
Резервное копирование и системные операции
dd if=/dev/sda of=/dev/fd0 bs=512 count=1
Копирование главной загрузочной записи на дискету
dd if=/dev/sda1 of=/dev/sdb1 bs=4096
Полное копирование диска на другой диск
dd if=/dev/sr0 of=/home/$user/mycdimage.iso\
 bs=2048 conv=nosync
Создание образа CD
mount -o loop /home/$user/mycdimage.iso\
 /mnt/cdimages/
локальное монтирование созданного образа
dd if=/dev/sda2 of=/home/$user/hddimage1.img\
 bs=1M count=4430
dd if=/dev/sda2 of=/home/$user/hddimage2.img\
 bs=1M count=8860
[...]
Создание DVD-образов раздела (используется для резервного копирования)
dd if=/$location/hddimage1.img of=/dev/sda2\
 bs=1M
dd if=/$location/hddimage2.img of=/dev/sda2\
 seek=4430 bs=1M
dd if=/$location/hddimage3.img of=/dev/sda2\
 seek=8860 bs=1M
[и так далее...]
Восстановление из созданной выше резервной копии
dd if=/dev/zero count=1 bs=1024 seek=1 of=/dev/sda6
Уничтожение суперблока
dd if=/dev/zero count=1 bs=4096 seek=0 of=/dev/sda5 
Еще один способ уничтожения суперблока
dd if=/home/$user/suspicious.doc | clamscan -
Проверка файла на вирусы (необходим ClamAV)
dd if=/home/$user/binary file | hexdump -C | less
Просмотр содержимого бинарного файла (необходим hexdump)
dd if=/home/$user/bigfile of=/dev/null
dd if=/dev/zero of=/home/$user/bigfile \
bs=1024 count=1000000
Тестирование жесткого диска на скорость чтения/записи
dd if=/dev/sda of=/dev/sda
Восстанавливает работоспособность старых жестких дисков (диск должен быть отмонтирован)
dd if=/dev/mem | strings | grep 'string_to_search'
Проверяет содержимое памяти (читаемое человеком)
dd if=/dev/fd0 of=/home/$user/floppy.image\
 bs=2x80x18b conv=notrunc
Копирование дискеты
dd if=/proc/kcore | hexdump -C | less
Просмотр виртуальной памяти
dd if=/proc/filesystems | hexdump -C | less
Просмотр доступных файловых систем
dd if=/proc/kallsyms | hexdump -C | less
Просмотр загруженных модулей
dd if=/proc/interrupts | hexdump -C | less
Просмотр таблицы прерываний
dd if=/proc/uptime | hexdump -C | less
Просмотр времени работы системы в секундах
dd if=/proc/partitions | hexdump -C | less
Просмотр размеров доступных разделов в кб
dd if=/proc/meminfo | hexdump -C | less
Просмотр статистики использования памяти
dd if=/dev/urandom of=/home/$user/myrandom \
bs=100 count=1
Создание файла размером 1 кб, заполненного мусором
dd if=/dev/mem of=/home/$user/mem.bin\
 bs=1024
Создание образа мгновенного состояния системной памяти
dd if=/home/$user/myfile
Печать файла в stdout
dd if=/dev/sda2 bs=16065 | hexdump -C\
 | grep 'text_to_search'
Поиск заданной строки на всем разделе. Даже если он защищен, вы можете загрузиться с liveCD
dd if=/home/$user/file.bin skip=64k bs=1\
 of=/home/$user/convfile.bin
Копирование файла file.bin в convfile.bin за исключением первых 64 kB
dd if=/home/$user/bootimage.img of=/dev/sdc 
Создание загрузочного USB-устройства (показано здесь как /dev/sdc)
dd if=/dev/mem bs=1k skip=768 count=256 \
2>/dev/null | strings -n 8 
Чтение BIOS
dd bs=1k if=imagefile.nrg of=imagefile.iso skip=300k
Конвертирование образа Nero в стандартный ISO. Это возможно, так как все отличие между ними заключается в заголовке размером 300 кб, добавляемом Nero к стандартному ISO-образу.
echo -n "hello vertical world" | dd cbs=1 \
conv=unblock 2> /dev/null
Попробуйте, это не опасно… 
dd if=/dev/sda1 | gzip -c | split -b 2000m - \
/mnt/hdc1/backup.img.gz
Создание образа диска, сжатого с помощью gzip и разрезанного на части с помощью split.
cat /mnt/hdc1/backup.img.gz.* | gzip -dc |\
 dd of=/dev/sda1
Восстановление раздела из созданного выше образа.
dd if=/dev/zero of=myimage bs=1024 count=10240
Создание пустого образа диска
dd ibs=10 skip=1
Вырезание первых 10 байт из stdin
dd bs=265b conv=noerror if=/dev/st0 \
of=/tmp/bad.tape.image
Создание образа с ленточного накопителя с плохими участками
dd if=/dev/sda count=1 | hexdump -C
Просмотр MBR
dd if=/dev/sda | nc -l 10001 
nc $system_to_backup_IP 10001 | dd\
 of=sysbackupsda.img 
Быстрое сетевое резервное копирование с помощью netcat
dd if=/dev/zero of=/dev/sdX\
 bs=1024000 count=1
Очистка первых 10 MB раздела
dd if=/dev/zero of=tmpswap bs=1k\
 count=1000000
chmod 600 tmpswap
mkswap tmpswap
swapon tmpswap
Создание временного пространства подкачки
dd if=/dev/sda of=/dev/null bs=1024k \
count=1024
1073741824 bytes (1.1 GB) copied, 
24.1684 s, 44.4 MB/s
Определение скорости системы ввода/вывода вашего диска. Чтение файла размером 1 Гб.
dd if=/dev/random count=1 2>/dev/null | od -t u1 |\
 awk '{ print $2}' | head -1
Генерация случайного числа
dd if=/dev/mem of=myRAM bs=1024
Копирование содержимого оперативной памяти в файл.
dd if=/dev/sda bs=512 count=1 | od -xa
Просмотр содержимого главной загрузочной записи в шестнадцатеричном формате и в ASCII
dd if=/my/old/mbr of=/dev/sda bs=446 count=1
Восстановление главной загрузочной записи, не затрагивая таблицу разделов.
dd if=/dev/sda1 | split -b 700m - sda1-image
Создание копии раздела и сохранение ее в образах максимальным размером 700 Мб.
Работа с текстом
ls -l | dd conv=ucase
Преобразует вывод команды в верхний регистр
echo "MY UPPER CASE TEXT" | dd conv=lcase
Преобразует любой текст в нижний регистр
dd if=/etc/passwd cbs=132 conv=ebcdic of=/tmp/passwd.ebcdic
Преобразует файл системных паролей в файл формата EBCDIC фиксированной длины
dd if=text.ascii of=text.ebcdic conv=ebcdic
Преобразование ASCII в EBCDIC
dd if=myfile of=myfile conv=ucase
Преобразование файла в нижний регистр (простая замена sed или tr)


igel
Дата: 24 января 2019 г. в 19:47:53

Автор: igel