Šajā rakstā es jums parādīšu dažus no dd komandu Linux. Demonstrācijai izmantošu Debian 9 Stretch. Bet tam vajadzētu darboties jebkurā citā Linux izplatīšanā. Sāksim.
Bootable USB diska ar dd izveidošana:
Padarot iecienītas operētājsistēmas sāknējamu USB disku ar dd komanda ir ļoti vienkārša. Viss, kas jums nepieciešams, ir USB disks un ISO vai IMG operētājsistēmas attēls, no kura vēlaties izveidot sāknējamu USB.
Pieņemsim, ka esat lejupielādējis ISO Alpine Linux attēls un fails tiek saglabāts ~ / Lejupielādes direktoriju kā Alpu standarts-3.8.0-x86_64.iso
Tagad jūs varat uzskaitīt visas pievienotās atmiņas vai bloķēt ierīces ar šādu komandu:
$ sudo lsblkKā redzat, visas pievienotās atmiņas vai bloķēšanas ierīces ir uzskaitītas. Šeit, / dev / sdb ir mans USB disks. Tam ir divas starpsienas, / dev / sdb1 un / dev / sdb2. Bet, veidojot USB sāknēšanas diskdziņus, jums jāizmanto / dev / sdb, visa bloka ierīce, nevis kādas starpsienas.
Tagad izveidojiet sāknējamu USB disku Alpine Linux ar šādu komandu:
$ sudo dd if = ~ / Lejupielādes / alpine-standard-3.8.0-x86_64.izo = / dev / sdb bs = 1M
Lūk, ja =~ / Lejupielādes / alpine-standard-3.8.0-x86_64.iso opcija tiek izmantota, lai pastāstītu dd ka ievades fails atrodas ceļā ~ / Lejupielādes / alpine-standard-3.8.0-x86_64.iso un no =/ dev / sdb opcija tiek izmantota, lai pastāstītu dd ka izvades fails atrodas ceļā / dev / sdb. Bs =1 milj stāsta dd lasīt no ~ / Lejupielādes / alpine-standard-3.8.0-x86_64.iso un rakstiet / dev / sdb 1 megabaits datu vienlaicīgi.
Kā redzat, ISO fails tiek kopēts bloķēšanas ierīcē / dev / sdb. Tagad jūs varat to izmantot, lai instalētu Alpine Linux.
Šī komanda ir ļoti postoša. The dd komanda noslauka nodalījuma tabulu un citus metadatus, karodziņus no bloķēšanas ierīces. Tāpēc jums jābūt uzmanīgam.
Parāda progresa joslu:
Pēc noklusējuma dd komanda neparāda progresa joslu. Bet jūs varat pateikt dd lai to parādītu ar statuss = progress opcija.
Piemēram, lai kopētu datus no / dev / sda uz / dev / sdb 1 megabaitu laikā un parādiet arī progresa joslu, izpildiet šādu komandu:
$ sudo dd, ja = / dev / sda no = / dev / sdb bs = 1M statuss = progress
Kā redzat, tiek parādīta progresa josla. Jūs varat redzēt, cik daudz datu tiek kopēts un cik ātri tie tiek kopēti.
Glabāšanas ierīces lasīšanas un rakstīšanas veiktspējas mērīšana ar dd:
Izmantojot, varat izmērīt atmiņas ierīces lasīšanas un rakstīšanas ātrumu dd ļoti viegli. Protams, ir daudz grafisko programmatūru, kas sniedz šo informāciju, taču komandrindas mīļotājiem tas būtu ļoti interesanti.
Pirmkārt, faila sistēmā jāpiestiprina nodalījums vai atmiņas ierīce. Ja jūsu atmiņas ierīcē nav nodalījuma, to vienmēr varat izveidot, izmantojot fdisk komandu un formatējiet to vēlamajā failu sistēmā (piemēram, FAT32, EXT4, NTFS, XFS utt.). Es pieņemu, ka jums tomēr ir nodalījums / dev / sdb1 un tas ir formatēts kā EXT4.
Pieņemsim, ka vēlaties uzstādīt / dev / sdb1 partition to / mnt direktoriju, pēc tam izpildiet šādu komandu:
$ sudo mount / dev / sdb1 / mnt
Kā redzat, nodalījums / dev / sdb1 ir uzstādīts uz / mnt direktorijā.
$ df -h
Tagad izveidosim 1 GB failu testrw iekš / mnt direktoriju ar dd:
$ sudo dd, ja = / dev / nulle = / mnt / testrw bs = 1G skaits = 1 no lag = tiešsŠeit, skaits = 1 nozīmē, lasīt bs = 1G kas ir 1 gigabaits no / dev / nulle, un uzrakstiet to / mnt / testrw failu.
The oflag = tiešs opcija tiek izmantota, lai atspējotu diska kešatmiņu. Ja diska kešatmiņa ir iespējota, jūs nesaņemsiet ļoti precīzus rezultātus.
PIEZĪME: Atcerieties, lai veiktu šo darbību, datorā jābūt vismaz 1 GB brīvas atmiņas vai RAM. Ja jūs nevarat atļauties tik daudz brīvas RAM, samaziniet bs lielumu. Piemēram, iestatiet bs = 128 miljoni vai pat mazāk, bs = 64 miljoni.
Kā redzat, mana USB diska rakstīšanas ātrums ir aptuveni 6.1 MB sekundē.
Varat arī pārbaudīt savas atmiņas ierīces lasīšanas ātrumu ar šādu komandu:
$ sudo dd, ja = / mnt / testrw no = ~ / Lejupielādes / tests bs = 1G skaits = 1 no lag = tiešs
Kā redzat, es varu izlasīt pulksten 4.3 MB sekundē.
Krātuves ierīces latentuma pārbaude ar dd:
Krātuves ierīces latentums ir laiks, kas nepieciešams, lai piekļūtu ierīcei. Tas ir svarīgs parametrs, ko mēs varam noteikt ar dd komandu.
Lai pārbaudītu latentumu, mēs varam X reizes rakstīt vai nolasīt mazus datu gabalus (apmēram 512 baitus vienlaikus) un redzēt, cik ilgs laiks tam nepieciešams. Tad mēs varam aprēķināt, cik ilgs laiks nepieciešams, lai ļoti viegli izlasītu vai rakstītu vienu datu daļu. To sauc par atmiņas ierīces latentumu.
Piemēram, pieņemsim, ka vēlaties aprēķināt rakstīšanas latentumu. Tagad izpildiet šādu komandu, lai uzrakstītu 512 baitu gabalus apmēram 1000 reizes:
$ sudo dd, ja = / dev / nulle = / mnt / testX bs = 512 skaits = 1000 oflag = tiešs
Kā redzat, tas prasa apmēram 16.4541 sekundes, lai rakstītu 1000 gabali 512 baitu dati. Lai uzrakstītu vienu datu daļu, nepieciešams apmēram (16.4541s / 1000 = 0.0164 s) 0.0164 sekundes. Tātad rakstīšanas latentums ir aptuveni 0.0164 sekundes šai atmiņas ierīcei.
Tādā pašā veidā jūs varat aprēķināt lasīšanas latentumu.
Tātad, kā jūs izmantojat dd un pārbaudiet I / O ierīces veiktspēju ar to. Paldies, ka izlasījāt šo rakstu.