Главная > Управление пакетами и системой > dd

dd: Копирование и преобразование данных (клонирование дисков/создание USB)

Мощный инструмент для копирования или преобразования файлов поблочно. Используется для создания загрузочных USB, резервного копирования дисков (дамп образа), создания файлов и т. д. Однако, при неправильном указании целевого устройства вывода, можно потерять все данные, поэтому его иногда называют 'Disk Destroyer'.

Что такое dd?

dd известен как сокращение от 'Data Description' или 'Disk Dump'. В отличие от обычного копирования (`cp`), он используется для непосредственной работы с аппаратными устройствами (дисками, USB) или для побитового копирования исходных данных.

Ключевая структура синтаксиса

Используется в формате `ключ=значение` без дефиса перед опциями.

  • if (Input File): Объект ввода. (Исходный файл, ISO-образ, устройство диска для чтения и т.д.)
  • of (Output File): Объект вывода. (Место для копирования, USB-устройство, файл резервной копии и т.д.) **Это самая важная опция, требующая особого внимания.**
  • bs (Block Size): Размер данных для чтения и записи за один раз. (Например: 4M, 1G). Влияет на скорость.

⚠️ Внимание: Обязательно проверьте перед использованием

Если вы случайно укажете системный жесткий диск в `of=` (объект вывода), операционная система и данные будут мгновенно уничтожены. Обязательно проверьте путь к устройству (например, `/dev/sdb`) с помощью команды `lsblk`.

Основные опции (Shell)

Порядок опций в dd не имеет значения, но обычно их пишут в следующем порядке: `if` > `of` > `bs` > `status`.

1. Указание ввода-вывода (обязательно)

2. Контроль размера и скорости

3. Преобразование и управление данными

Сгенерированная команда:

Комбинируйте команды.

Описание:

`dd` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

Примеры сценариев использования

Часто используемые шаблоны команды dd на практике.

Создание загрузочного USB

sudo dd if=ubuntu-22.04.iso of=/dev/sdb bs=4M status=progress

Записывает ISO-файл на USB-устройство (предполагается `/dev/sdb`). `bs=4M` используется для повышения скорости.

Полное резервное копирование диска (создание образа)

sudo dd if=/dev/sda of=~/backup.img bs=64K status=progress

Создает файл `backup.img` из всего диска `/dev/sda`.

Полное стирание диска (Wiping)

sudo dd if=/dev/urandom of=/dev/sdX bs=1M status=progress

Перезаписывает диск (`/dev/sdX`) случайными данными, делая восстановление невозможным.

Создание пустого файла заданного размера

dd if=/dev/zero of=testfile_1GB bs=1G count=1

Создает пустой файл размером 1 ГБ (заполненный нулями) для тестирования.

Советы и меры предосторожности

Полезные советы

  • Права sudo: При работе с аппаратными устройствами (/dev/...) обязательно требуются права `sudo`.
  • /dev/zero и /dev/urandom: `if=/dev/zero` бесконечно выводит нули, а `if=/dev/urandom` бесконечно выводит случайные данные — это специальные файлы.
  • Поиск USB-устройства: Перед и после подключения USB введите команду `lsblk`, чтобы точно определить имя нового устройства (например, sdb, sdc).

Связанные команды

Функционально схожие или часто используемые команды.



Те же команды в категории