Selles artiklis näitan teile mõningaid tavalisi tavasid dd käsk Linuxis. Ma kasutan demonstratsiooniks Debiani 9 Stretchi. Kuid see peaks töötama mis tahes muu Linuxi levitamise korral. Alustame.
Dd-ga käivitatava USB-draivi loomine:
Lemmikoperatsioonisüsteemi käivitatava USB-draivi loomine rakendusega dd käsk on väga lihtne. Vaja on ainult USB-draivi ja ISO või IMG operatsioonisüsteemi pilt, millest soovite käivitatava USB-ühenduse teha.
Oletame, et olete alla laadinud ISO Alpine Linuxi pilt ja fail salvestatakse ~ / Allalaadimised kataloog as alpine-standard-3.8.0-x86_64.iso
Nüüd saate loetleda kõik ühendatud salvestusruumid või blokeerida seadmed järgmise käsuga:
$ sudo lsblkNagu näete, on loetletud kõik ühendatud salvestus- või blokeerimisseadmed. Siin, / dev / sdb on minu USB-draiv. Sellel on kaks vaheseina, / dev / sdb1 ja / dev / sdb2. Kuid kui teete USB-ga käivitatavaid draive, peate kasutama / dev / sdb, kogu plokiseade, mitte ükski vahesein.
Nüüd tehke Alpine Linuxi käivitatav USB-draiv järgmise käsuga:
$ sudo dd if = ~ / Allalaadimised / alpine-standard-3.8.0-x86_64.iso = / dev / sdb bs = 1M
Siin, kui =~ / Allalaadimised / alpine-standard-3.8.0-x86_64.iso valikut kasutatakse öelda dd et sisendfail on teel ~ / Allalaadimised / alpine-standard-3.8.0-x86_64.iso ja =/ dev / sdb valikut kasutatakse öelda dd et väljundfail on teel / dev / sdb. Bs =1M jutustab dd kust lugeda ~ / Allalaadimised / alpine-standard-3.8.0-x86_64.iso ja kirjuta / dev / sdb 1 megabaiti andmeid korraga.
Nagu näete, kopeeritakse ISO-fail blokeerimisseadmesse / dev / sdb. Nüüd saate seda kasutada Alpine Linuxi installimiseks.
See käsk on väga hävitav. The dd käsk pühib partitsioonitabeli ja muud metaandmed, lipuseadmest lipud. Nii et peate olema ettevaatlik.
Edenemisriba kuvamine:
Vaikimisi on dd käsk ei kuva edenemisriba. Kuid võite öelda dd et seda koos status = progress valik.
Näiteks andmete kopeerimiseks / dev / sda kuni / dev / sdb 1 megabaiti korraga ja kuvage ka edenemisriba, käivitage järgmine käsk:
$ sudo dd, kui = / dev / sda = / dev / sdb bs = 1M olek = progress
Nagu näete, kuvatakse edenemisriba. Näete, kui palju andmeid kopeeritakse ja kui kiiresti neid kopeeritakse.
Dd-ga salvestusseadme lugemis- ja kirjutamisvõime mõõtmine:
Mäluseadme lugemis- ja kirjutamiskiirust saate mõõta dd väga lihtsalt. Muidugi on palju graafilisi tarkvarasid, mis seda teavet pakuvad, kuid käsureahuvilistele oleks see väga huvitav.
Esiteks peate oma failisüsteemi ühendama partitsiooni või salvestusseadme. Kui teie mäluseadmel pole sektsiooni, saate selle alati luua rakendusega fdisk käsk ja vormindage see soovitud failisüsteemiks (näiteks FAT32, EXT4, NTFS, XFS jne). Siin eeldan, et teil on tõesti partitsioon / dev / sdb1 ja see on vormindatud järgmiselt EXT4.
Oletame, et soovite paigaldada / dev / sdb1 jagamine / mnt kataloogi ja käivitage järgmine käsk:
$ sudo mount / dev / sdb1 / mnt
Nagu näete, partitsioon / dev / sdb1 on paigaldatud / mnt kataloogi.
$ df -h
Nüüd loome 1 GB faili testrw aastal / mnt kataloogiga dd:
$ sudo dd kui = / dev / null = / mnt / testrw bs = 1G arv = 1 of lag = otseneSiin, arv = 1 tähendab, loe bs = 1G mis on 1 gigabait alates / dev / null, ja kirjutage see aadressile / mnt / testrw faili.
The oflag = otsene suvandit kasutatakse ketta vahemälu keelamiseks. Kui ketta vahemälu on lubatud, ei saa te väga täpseid tulemusi.
MÄRGE: Pidage meeles, et selle toimingu jaoks peab teie arvutis olema vähemalt 1 GB vaba mälu või RAM-i. Kui te ei saa endale lubada nii palju vaba RAM-i, siis vähendage bs-i suurust. Näiteks määrake bs = 128M või isegi vähem, bs = 64M.
Nagu näete, on minu USB-draivi kirjutamiskiirus umbes 6.1 MB sekundis.
Salvestusseadme lugemiskiirust saate testida ka järgmise käsuga:
$ sudo dd kui = / mnt / testrw = ~ / Allalaadimised / test bs = 1G arv = 1 / lag = otsene
Nagu näete, võin lugeda kell 4.3 MB sekundis.
Salvestusseadme latentsuse testimine dd-ga:
Salvestusseadme latentsus on aeg, mis kulub seadmele juurdepääsemiseks. See on oluline parameeter, mille saame määrata dd käsk.
Latentsuse testimiseks saame X korda kirjutada või lugeda väikeseid andmetükke (umbes 512 baiti korraga) ja näha, kui kaua see aega võtab. Siis saame arvutada, kui kaua võtab ühe andmepaki väga lihtne lugemine või kirjutamine aega. Seda nimetatakse salvestusseadme latentsuseks.
Oletame näiteks, et soovite arvutada kirjutamise latentsuse. Nüüd käivitage järgmine käsk, et kirjutada 512 baiti suurune osa umbes 1000 korda:
$ sudo dd kui = / dev / null = / mnt / testX bs = 512 loend = 1000 oflag = otsene
Nagu näete, võtab see umbes 16.4541 sekundit kirjutamiseks 1000 tükid 512 baitide andmed. Ühe andmepaki kirjutamiseks kulub nüüd umbes (16.4541 s / 1000 = 0.0164 s) 0.0164 sekundit. Nii et kirjutamise latentsus on umbes 0.0164 sekundit selle salvestusseadme jaoks.
Samamoodi saate arvutada loetud latentsuse.
Nii et nii kasutate sisend- ja väljundseadme dd-d ja testite sellega koos. Täname selle artikli lugemise eest.