Вернуться назад
Примеры команды 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) |
Дата: 24 января 2019 г. в 19:47:53
Автор: igel