Что такое 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).