Команда Linux dd: что это такое и как ее использовать

click fraud protection

В Linux Команда dd официально не означает дамп диска, но вы можете думать об этом иначе. И несмотря на непритязательное название, это очень полезный Терминал Linux программа. От резервного копирования до записи USB-накопителей - знание того, как использовать dd, определенно станет хорошим дополнением к вашему набору инструментов Linux.

dd: команда «Дамп диска»

По своей сути dd был создан для копирования и преобразования файлов из одного формата в другой. Не такие форматы, как Слово или PDF, но очень низкоуровневые форматы, которые описывают, как данные представлены на диске. Это было еще во времена мэйнфреймов, когда у разных систем были свои собственные форматы, и решение проблем обмена было серьезной задачей.

Команда dd берет биты из одного файла и перемещает их в другой файл. Важно понимать, что dd просто перемещает биты отсюда туда, независимо от форматов файловой системы, папок или расширений. Это означает, что вы можете добиться многого очень быстро, но это также означает, что вам нужно быть осторожным при запуске.

Имея это в виду, умные люди в сообществе Linux перенесли dd для другой цели. Поскольку в Linux «все является файлом», dd предоставляет простой способ записать ISO-образ на флешку. Для этого он берет файл изображения и «копирует» его в файл, представляющий флэш-накопитель. Есть множество сценариев, в которых это полезно, но мы сосредоточимся здесь на двух: запись на съемный носитель и создание резервной копии.

Базовое использование команды dd

Базовое использование dd использует следующий синтаксис:

dd option1 = value1 option2 = value2

Для dd доступно множество опций, но вот те, которые вам следует знать, чтобы начать:

  • bs: Размер блока описывает, сколько данных будет прочитано и записано за один раз. Компромисс с этой опцией заключается между скоростью завершения операции и тем, насколько легко ее восстановить в случае сбоя. Блоки большего размера завершаются быстрее, но их сложнее восстановить.
  • если: Входной файл является источником данных.
  • из: Выходной файл является местом назначения для всех данных, считываемых из источника ввода.
  • положение дел: Это необязательный, но полезный флаг, который предоставит вам некоторую информацию при выполнении вашей команды. Мы дадим этому значение прогресс чтобы мы знали, что команда все еще работает.

Использование dd для записи на съемные носители

В этом первом примере мы попробуем один из наиболее распространенных вариантов использования dd: запись съемных носителей. Вы могли бы сделать это, например, чтобы «записать» установочный образ Linux на флэш-накопитель USB.

Многие установочные образы поставляются как .ISO файл, который предназначен для записи на привод компакт-дисков или DVD-дисков, но вы можете записать образ .ISO на USB-накопитель с помощью следующей команды:

dd bs = 4M if = / path / to / imagefilename.img of = / dev / sda status = прогресс

В приведенном выше примере мы берем содержимое imagefilename.img и копируя его по 4 МБ за раз в /dev/sda. Это файл с /dev файловая подсистема, представляющая наш USB-накопитель. Здесь мы используем размер блока 4 МБ, потому что большинство установочных образов большие, и если мы воспользуемся меньшим размером, это займет много времени. В любом случае что-то пойдет не так, это не имеет большого значения, просто отформатируйте флэш-накопитель и попробуйте еще раз.

Убедитесь, что у вас есть правильные значения для ввода и вывода. Как уже упоминалось, dd предназначен для перемещения битов из одного места в другое, и ему все равно, что он может перезаписать в процессе. Кроме того, убедитесь, что на целевом диске нет ничего, что вам нужно. В лучшем случае выздороветь будет очень сложно, а в худшем может исчезнуть навсегда.

Использование dd для резервного копирования ПК с Linux

Вы также можете выполнить описанный выше процесс в обратном порядке и записать содержимое всего диска в файл образа. Это очень удобный и тщательный способ резервного копирования жесткого диска.

Запуск команды Linux dd

В этом случае мы можем поменять местами «входящий файл» на один из наших дисков и «выходной файл» на изображение: Диск.

dd bs = 64k if = / dev / nvme0n1 of = / home / aaron / nvmedrivebackup.img status = прогресс

Здесь мы выбираем один из разделов на нашем ноутбуке Накопитель NVMe в качестве входных данных и предоставляя путь и имя файла для изображения в качестве выходных.

Мы используем меньший размер байта, чтобы избежать проблем с копией, так как это будет наш образ для восстановления в случае катастрофы. Чтобы восстановить диск, просто поменяйте местами входные и выходные файлы.

Команда dd - мощная утилита, поэтому используйте ее с умом

Команда dd - очень мощная утилита, и при некотором умном мышлении вы, вероятно, сможете найти еще больше ее применений. Тем не менее, это также очень простая команда, поэтому убедитесь, что вы либо взяли свои варианты у кого-то знающего, либо трижды проверили, что вы не смешиваете свои входные и выходные файлы. В противном случае вы можете записать все пустые биты с какого-то пустого носителя на диск вашего ПК.