I denne artikkelen vil jeg vise deg noen av de vanlige bruken av dd Kommando i Linux. Jeg vil bruke Debian 9 Strekk for demonstrasjonen. Men det skal fungere med annen Linux -distribusjon. La oss komme i gang.
Lage en oppstartbar USB -stasjon av favorittoperativsystemet ditt med dd Kommandoen er veldig enkelt. Alt du trenger er en USB -stasjon og en ISO eller Img Bilde av operativsystemet du vil lage en oppstartbar USB av.
La oss anta at du har lastet ned en ISO Bilde av alpin linux og filen lagres i ~/Nedlastinger Katalog som Alpine-standard-3.8.0-x86_64.ISO
Nå kan du liste opp alle tilkoblede lagrings- eller blokkeringsenheter med følgende kommando:
$ SUDO LSBLK
Som du kan se, er alle tilkoblede lagrings- eller blokkenheter oppført. Her, /dev/sdb er USB -stasjonen min. Den har to partisjoner, /dev/sdb1 og /dev/sdb2. Men når du lager USB -oppstartbare stasjoner, må du bruke /dev/sdb, hele blokkapparatet, ikke noen partisjoner.
Lag nå oppstartbar USB -stasjon av Alpine Linux med følgende kommando:
$ sudo dd if = ~/nedlastinger/alpine-standard-3.8.0-x86_64.iso av =/dev/sdb bs = 1m
Her, hvis =~/Nedlastinger/Alpine-Standard-3.8.0-x86_64.ISO Alternativet brukes til å fortelle dd at inndatafilen er i banen ~/Nedlastinger/Alpine-Standard-3.8.0-x86_64.ISO og av =/dev/sdb Alternativet brukes til å fortelle dd at utgangsfilen er i banen /dev/sdb. BS =1m forteller dd å lese fra ~/Nedlastinger/Alpine-Standard-3.8.0-x86_64.ISO og skriv til /dev/sdb 1 megabyte med data om gangen.
Som du kan se, kopieres ISO -filen til blokkeringsenheten /dev/sdb. Nå kan du bruke den til å installere alpine linux.
Denne kommandoen er veldig ødeleggende. De dd Kommando tørker partisjonstabellen og andre metadata, flagg fra blokkeringsenheten. Så du må være forsiktig.
Viser fremdriftslinje:
Som standard, den dd Kommandoen viser ingen fremdriftslinjer. Men du kan fortelle dd å vise det med Status = fremgang alternativ.
For eksempel å kopiere data fra /dev/sda til /dev/sdb 1 megabyte om gangen og viser også fremdriftslinjen, kjør følgende kommando:
$ sudo dd if =/dev/sda av =/dev/sdb bs = 1m status = fremgang
Som du ser vises fremdriftslinjen. Du kan se hvor mye av dataene som er kopiert og hastigheten som de kopieres.
Måling av lese- og skriveytelse av en lagringsenhet med DD:
Du kan måle lese- og skrivehastigheten til en lagringsenhet med dd veldig lett. Selvfølgelig er det mange grafiske programvare som gir denne informasjonen, men kommandolinjeelskere vil synes dette er veldig interessant.
Først må du montere partisjonen eller lagringsenheten på filsystemet ditt. Hvis du ikke har en partisjon på lagringsenheten din, kan du alltid opprette den med fdisk kommando og format det til ønsket filsystem (for eksempel FAT32, Ext4, NTFS, Xfs etc). Her antar jeg at du har en partisjon /dev/sdb1 og det er formatert som Ext4.
La oss si, du vil montere /dev/sdb1 partisjon til /mnt Katalog, kjør deretter følgende kommando:
$ sudo mount /dev /sdb1 /mnt
Som du kan se, partisjonen /dev/sdb1 er montert på /mnt katalog.
$ df -h
La oss nå opprette en 1 GB -fil Testrw i /mnt katalog med dd:
$ sudo dd if =/dev/null av =/mnt/testrw bs = 1g count = 1 ofag = direkte
Her, telling = 1 betyr, les BS = 1G som er 1 gigabyte fra /dev/null, og skriv det til /mnt/testrw fil.
De Oflag = direkte Alternativet brukes til å deaktivere diskbufring. Hvis diskbufring er aktivert, vil du ikke få veldig nøyaktige resultater.
MERK: Husk at for denne operasjonen må du ha minst 1 GB gratis minne eller RAM på datamaskinen din. Hvis du ikke har råd til så mye gratis RAM, kan du redusere BS -størrelsen. For eksempel sett BS = 128m eller enda mindre, BS = 64m.
Som du kan se, er skrivehastigheten på USB -stasjonen min omtrent 6.1 MB per sekund.
Du kan også teste lesehastigheten til lagringsenheten din med følgende kommando:
$ sudo dd if =/mnt/testrw av = ~/nedlastinger/test bs = 1g count = 1 oflag = direkte
Som du kan se, kan jeg lese klokka 4.3 MB per sekund.
Testing av lagringsenhet latens med DD:
Latensen til en lagringsenhet er tiden det tar å få tilgang til enheten. Det er en viktig parameter som vi kan bestemme ved hjelp av dd kommando.
For å teste for latens, kan vi skrive eller lese små biter av data (ca. 512 byte om gangen) x ganger og se hvor lang tid det tar. Da kan vi beregne hvor lang tid det tar å lese eller skrive en enkelt del av data veldig enkelt. Dette kalles latensen til lagringsenheten.
La oss for eksempel si at du vil beregne skriveforsinkelsen. Kjør nå følgende kommando for å skrive 512 Byte Chunk ca 1000 ganger:
$ sudo dd if =/dev/null av =/mnt/testx bs = 512 telling = 1000 oflag = direkte
Som du ser, tar det rundt 16.4541 sekunder å skrive 1000 biter av 512 byte data. Nå, for å skrive en enkelt del av data, tar det omtrent (16.4541s / 1000 = 0.0164 S) 0.0164 sekunder. Så skriveforsinkelsen er omtrent 0.0164 sekunder for denne lagringsenheten.
Du kan beregne lesens latens på samme måte.
Så det er slik du bruker DD og testytelse av en I/O -enhet med den. Takk for at du leste denne artikkelen.