производителност

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

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

В тази статия ще ви покажа някои от обичайните употреби на дд команда в Linux. За демонстрацията ще използвам Debian 9 Stretch. Но трябва да работи за всяка друга дистрибуция на Linux. Да започваме.

Създаване на стартиращо USB устройство с dd:

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

Да предположим, че сте изтеглили ISO изображение на Alpine Linux и файлът се записва в ~ / Изтегляния директория като алпийски стандарт-3.8.0-x86_64.изо

Сега можете да изброите всички свързани хранилища или да блокирате устройства със следната команда:

$ sudo lsblk

Както можете да видите, всички свързани устройства за съхранение или блокиране са изброени. Тук, / dev / sdb е моето USB устройство. Той има два дяла, / dev / sdb1 и / dev / sdb2. Но когато правите USB стартиращи устройства, трябва да използвате / dev / sdb, цялото блоково устройство, а не всякакви дялове.

Сега направете стартиращо USB устройство на Alpine Linux със следната команда:

$ sudo dd, ако = ~ / Downloads / alpine-standard-3.8.0-x86_64.iso на = / dev / sdb bs = 1M

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

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

Тази команда е много разрушителна. The дд команда изтрива таблицата на дяловете и други метаданни, флагове от блоковото устройство. Така че трябва да внимавате.

Показване на лентата за напредъка:

По подразбиране дд команда не показва лента за напредък. Но можете да кажете дд за да го покажете с статус = напредък опция.

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

$ sudo dd, ако = / dev / sda от = / dev / sdb bs = 1M статус = напредък

Както можете да видите, лентата за напредъка се показва. Можете да видите колко от данните се копират и скоростта, с която се копират.

Измерване на ефективността на четене и запис на устройство за съхранение с dd:

Можете да измервате скоростта на четене и запис на устройство за съхранение с дд много лесно. Разбира се, има много графични софтуери, които предоставят тази информация, но любителите на командния ред биха намерили това за много интересно.

Първо, трябва да монтирате дяла или устройството за съхранение във вашата файлова система. Ако нямате дял на устройството си за съхранение, винаги можете да го създадете с fdisk команда и го форматирайте във вашата желана файлова система (като FAT32, EXT4, NTFS, XFS и т.н.). Тук предполагам, че имате дял / dev / sdb1 и е форматиран като EXT4.

Да кажем, че искате да монтирате / dev / sdb1 дял към / mnt директория, след което изпълнете следната команда:

$ sudo mount / dev / sdb1 / mnt

Както можете да видите, дялът / dev / sdb1 е монтиран на / mnt директория.

$ df -h

Сега нека създадем 1 GB файл testrw в / mnt директория с дд:

$ sudo dd, ако = / dev / нула = = mnt / testrw bs = 1G брой = 1 oflag = директно

Тук, брой = 1 означава, прочетете bs = 1G което е 1 гигабайт от / dev / нула, и го напишете на / mnt / testrw файл.

The oflag = директно опция се използва за деактивиране на кеширането на диска. Ако кеширането на диска е активирано, няма да получите много точни резултати.

ЗАБЕЛЕЖКА: Не забравяйте, че за тази операция трябва да имате поне 1 GB свободна памет или RAM на вашия компютър. Ако не можете да си позволите толкова безплатна RAM, намалете размера на bs. Например, задайте bs = 128M или дори по-малко, bs = 64M.

Както можете да видите, скоростта на запис на моето USB устройство е около 6.1 MB в секунда.

Можете също да тествате скоростта на четене на вашето устройство за съхранение със следната команда:

$ sudo dd, ако = / mnt / testrw от = ~ / Downloads / test bs = 1G count = 1 oflag = direct

Както можете да видите, мога да чета в 4.3 MB в секунда.

Тестване на латентност на устройството за съхранение с dd:

Латентността на устройство за съхранение е времето, необходимо за достъп до устройството. Това е важен параметър, който можем да определим с помощта на дд команда.

За да тестваме за латентност, можем да напишем или прочетем малки парчета данни (около 512 байта наведнъж) X пъти и да видим колко време отнема. След това можем да изчислим колко време отнема много лесно четене или запис на един парче данни. Това се нарича латентност на устройството за съхранение.

Например, да предположим, че искате да изчислите латентността на запис. Сега изпълнете следната команда, за да напишете 512 байта парче около 1000 пъти:

$ sudo dd, ако = / dev / нула от = / mnt / testX bs = 512 броя = 1000 oflag = директно

Както виждате, това отнема около 16.4541 секунди за писане 1000 парчета от 512 байтови данни. Сега, за да се напише една порция данни, е необходимо около (16.4541s / 1000 = 0.0164 s) 0.0164 секунди. Така че латентността на запис е около 0.0164 секунди за това устройство за съхранение.

Можете да изчислите латентността на четене по същия начин.

И така, вие използвате dd и тествате производителността на I / O устройство с него. Благодаря, че прочетохте тази статия.

Как да използвам Xdotool за стимулиране на кликвания и натискания на мишката в Linux
Xdotool е безплатен инструмент с команден ред с отворен код за симулиране на щраквания и натискания на мишката. Тази статия ще обхване кратко ръководс...
Топ 5 продукти за ергономична компютърна мишка за Linux
Продължителната употреба на компютър причинява ли болка в китката или пръстите? Страдате ли от схванати стави и постоянно ли ви се налага да си ръкува...
Как да променяте настройките на мишката и тъчпада с помощта на Xinput в Linux
Повечето дистрибуции на Linux се доставят с библиотека “libinput” по подразбиране за обработка на входни събития в системата. Той може да обработва вх...