Представление

Как использовать команду dd в Linux

Как использовать команду dd в Linux
В дд команда используется для выполнения многих важных задач. Наиболее распространенное и распространенное использование дд команда состоит в том, чтобы сделать загрузочные USB-накопители из ISO или же IMG файл изображения. Я часто использую его для создания загрузочных USB-накопителей различных дистрибутивов Linux. Но есть и другие способы использования дд командование также. Например, дд команда может использоваться для создания резервной копии таблицы разделов, преобразования текстов и файлов, установки загрузчика на жесткий диск, SSD или USB-накопитель. В дд Команда также может использоваться для тестирования производительности устройств хранения, таких как задержка вашего жесткого диска, скорость чтения и записи вашего жесткого диска и т. д.

В этой статье я покажу вам некоторые из распространенных способов использования дд команда в Linux. Я буду использовать Debian 9 Stretch для демонстрации. Но он должен работать с любым другим дистрибутивом Linux. Давайте начнем.

Создание загрузочного USB-накопителя с dd:

Создание загрузочного USB-накопителя вашей любимой операционной системы с помощью дд команда очень проста. Все, что вам нужно, это USB-накопитель и ISO или же IMG образ операционной системы, которую вы хотите сделать загрузочным USB.

Предположим, вы загрузили ISO образ Alpine Linux и файл сохраняется в ~ / Загрузки каталог как альпийский стандарт-3.8.0-x86_64.iso

Теперь вы можете перечислить все подключенные хранилища или блочные устройства с помощью следующей команды:

$ sudo lsblk

Как видите, перечислены все подключенные устройства хранения или блочные устройства. Здесь, / dev / sdb мой USB-накопитель. Имеет две перегородки, / dev / sdb1 а также / dev / sdb2. Но когда вы делаете загрузочные USB-накопители, вы должны использовать / dev / sdb, все блочное устройство, а не разделы.

Теперь сделайте загрузочный USB-накопитель Alpine Linux с помощью следующей команды:

$ sudo dd if = ~ / Загрузки / alpine-standard-3.8.0-x86_64.iso of = / dev / sdb bs = 1M

Здесь, если =~ / Загрузки / alpine-standard-3.8.0-x86_64.iso опция используется, чтобы сказать дд что входной файл находится в пути ~ / Загрузки / alpine-standard-3.8.0-x86_64.iso и из =/ dev / sdb опция используется, чтобы сказать дд что выходной файл находится в пути / dev / sdb. Bs =1 млн говорит дд читать из ~ / Загрузки / alpine-standard-3.8.0-x86_64.iso и напишите / dev / sdb 1 мегабайт данных за раз.

Как видите, файл ISO копируется на блочное устройство / dev / sdb. Теперь вы можете использовать его для установки Alpine Linux.

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

Отображение индикатора выполнения:

По умолчанию дд команда не показывает индикатор выполнения. Но ты можешь сказать дд показать это с статус = прогресс вариант.

Например, чтобы скопировать данные из / dev / sda к / dev / sdb 1 мегабайт за раз, а также отображение индикатора выполнения, выполните следующую команду:

$ sudo dd if = / dev / sda of = / dev / sdb bs = 1M status = прогресс

Как видите, отображается индикатор выполнения. Вы можете видеть, сколько данных копируется и с какой скоростью они копируются.

Измерение производительности чтения и записи устройства хранения с помощью dd:

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

Во-первых, вам нужно смонтировать раздел или запоминающее устройство в вашей файловой системе. Если на вашем устройстве хранения нет раздела, вы всегда можете создать его с помощью fdisk команду и отформатируйте ее в нужную файловую систему (например, FAT32, EXT4, NTFS, XFS так далее). Здесь я предполагаю, что у вас есть раздел / dev / sdb1 и он отформатирован как EXT4.

Допустим, вы хотите установить / dev / sdb1 раздел на / mnt каталог, затем выполните следующую команду:

$ sudo монтировать / dev / sdb1 / mnt

Как видите, раздел / dev / sdb1 установлен на / mnt каталог.

$ df -h

Теперь создадим файл размером 1 ГБ testrw в / mnt каталог с дд:

$ sudo dd if = / dev / zero of = / mnt / testrw bs = 1G count = 1 oflag = direct

Здесь, count = 1 значит, читать bs = 1G что составляет 1 гигабайт от / dev / ноль, и напишите это / mnt / testrw файл.

В oflag = прямой опция используется для отключения кеширования диска. Если кэширование диска включено, вы не получите очень точных результатов.

ПРИМЕЧАНИЕ: Помните, что для этой операции на вашем компьютере должно быть не менее 1 ГБ свободной памяти или ОЗУ. Если вы не можете позволить себе столько свободной оперативной памяти, уменьшите размер BS. Например, установите bs = 128M или даже меньше, bs = 64M.

Как видите, скорость записи моего USB-накопителя составляет около 6.1 МБ в секунду.

Вы также можете проверить скорость чтения вашего устройства хранения с помощью следующей команды:

$ sudo dd if = / mnt / testrw of = ~ / Downloads / test bs = 1G count = 1 oflag = direct

Как видите, я умею читать на 4.3 МБ в секунду.

Тестирование задержки устройства хранения с dd:

Задержка устройства хранения - это время, необходимое для доступа к устройству. Это важный параметр, который мы можем определить с помощью дд команда.

Чтобы проверить задержку, мы можем записать или прочитать небольшие фрагменты данных (около 512 байт за раз) X раз и посмотреть, сколько времени это займет. Затем мы можем очень легко вычислить, сколько времени требуется для чтения или записи одного фрагмента данных. Это называется задержкой устройства хранения.

Например, предположим, вы хотите рассчитать задержку записи. Теперь выполните следующую команду, чтобы записать фрагмент размером 512 байт примерно 1000 раз:

$ sudo dd if = / dev / zero of = / mnt / testX bs = 512 count = 1000 oflag = direct

Как видите, это занимает около 16.4541 секунд, чтобы написать 1000 куски 512 байты данных. Теперь, чтобы записать один фрагмент данных, требуется около (16.4541 сек / 1000 = 0.0164 с) 0.0164 секунды. Таким образом, задержка записи составляет около 0.0164 секунды для этого запоминающего устройства.

Таким же образом можно рассчитать задержку чтения.

Вот как вы используете dd и тестируете с его помощью производительность устройства ввода-вывода. Спасибо, что прочитали эту статью.

Как загрузить и играть в Sid Meier's Civilization VI в Linux
Введение в игру Civilization 6 - это современный подход к классической концепции, представленной в серии игр Age of Empires. Идея была довольно просто...
Как установить Doom и играть в него в Linux
Введение в Doom Серия Doom возникла в 90-х годах после выхода оригинальной Doom. Это мгновенно стал хитом, и с тех пор серия игр получила множество на...
Vulkan для пользователей Linux
С каждым новым поколением видеокарт мы видим, как разработчики игр расширяют границы графической точности и приближаются на шаг ближе к фотореализму. ...