Opptreden

Hvordan bruke dd Command i Linux

Hvordan bruke dd Command i Linux
De dd kommando brukes til å gjøre mange viktige ting. Den vanligste og mest utbredte bruken av dd kommandoen er å lage oppstartbare USB-stasjoner fra en ISO eller IMG bildefil. Jeg bruker den mye til å lage oppstartbare USB-stasjoner med forskjellige Linux-distribusjoner. Men det er andre bruksområder av dd kommando også. For eksempel dd kommandoen kan brukes til å ta sikkerhetskopi av partisjonstabellen, konvertere tekster og filer, installere en bootloader til en harddisk, SSD eller USB-stasjon. De dd kommandoen kan også brukes til å teste ytelsen til lagringsenheter som latens på harddisken, lese- og skrivehastigheten på harddisken osv.

I denne artikkelen vil jeg vise deg noen av de vanlige bruken av dd kommando i Linux. Jeg vil bruke Debian 9 Stretch til demonstrasjonen. Men det skal fungere på en hvilken som helst annen Linux-distribusjon. La oss komme i gang.

Lage en oppstartbar USB-stasjon med dd:

Å lage en oppstartbar USB-stasjon av favorittoperativsystemet ditt med dd kommandoen er veldig enkel. 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 Alpine Linux, og filen lagres i ~ / Nedlastinger katalog som alpin-standard-3.8.0-x86_64.iso

Nå kan du liste alle tilkoblede lagringsenheter eller blokkere enheter med følgende kommando:

$ sudo lsblk

Som du kan se, er alle tilkoblede lagrings- eller blokkeringsenheter 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 blokkenheten, ikke noen partisjoner.

Lag nå oppstartbar USB-stasjon av Alpine Linux med følgende kommando:

$ sudo dd if = ~ / Nedlastinger / alpin-standard-3.8.0-x86_64.iso av = / dev / sdb bs = 1M

Her, hvis =~ / Nedlastinger / alpin-standard-3.8.0-x86_64.iso alternativet brukes til å fortelle dd at inndatafilen er i banen ~ / Nedlastinger / alpin-standard-3.8.0-x86_64.iso og av =/ dev / sdb alternativet brukes til å fortelle dd at utdatafilen er i banen / dev / sdb. Bs =1M forteller dd å lese fra ~ / Nedlastinger / alpin-standard-3.8.0-x86_64.iso og skriv til / dev / sdb 1 Megabyte 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 destruktiv. De dd kommandoen sletter partisjonstabellen og andre metadata, flagg fra blokkeringsenheten. Så du må være forsiktig.

Viser fremdriftslinje:

Som standard er dd kommandoen viser ingen fremdriftslinje. 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 of = / dev / sdb bs = 1M status = fremgang

Som du ser, vises fremdriftslinjen. Du kan se hvor mye av dataene som blir kopiert og hvor raskt de blir kopiert.

Måling av lese- og skriveytelse for 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 kommandolinjelovers vil synes dette er veldig interessant.

Først må du montere partisjonen eller lagringsenheten på filsystemet. Hvis du ikke har en partisjon på lagringsenheten din, kan du alltid opprette den med fdisk kommandoen og formater den til ønsket filsystem (for eksempel FAT32, EXT4, NTFS, XFS etc). Her antar jeg at du har en partisjon / dev / sdb1 og den er formatert som EXT4.

La oss si at du vil montere / dev / sdb1 partisjon til / mnt katalog, og 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å lage en 1 GB fil testrw i / mnt katalog med dd:

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

Her, telle = 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 ledig minne eller RAM på datamaskinen. Hvis du ikke har råd til så mye ledig RAM, så reduser bs-størrelsen. Sett for eksempel bs = 128M eller enda mindre, bs = 64M.

Som du kan se, er skrivehastigheten til 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 of = ~ / Nedlastinger / test bs = 1G antall = 1 oflag = direkte

Som du kan se, kan jeg lese klokka 4.3 MB per sekund.

Testing av lagringsenhetsforsinkelse med dd:

Forsinkelsen 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 ventetid kan vi skrive eller lese små biter av data (ca. 512 byte om gangen) X ganger og se hvor lang tid det tar. Så kan vi beregne hvor lang tid det tar å lese eller skrive en enkelt del data veldig enkelt. Dette kalles lagringsenhetens ventetid.

La oss for eksempel si at du vil beregne skrivetiden. Kjør nå følgende kommando for å skrive 512 byte klump omtrent 1000 ganger:

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

Som du kan se, tar det omtrent 16.4541 sekunder å skrive 1000 biter av 512 byte data. Nå, for å skrive en enkelt del data, tar det omtrent (16.4541s / 1000 = 0.0164 s) 0.0164 sekunder. Så skrivetid er omtrent 0.0164 sekunder for denne lagringsenheten.

Du kan beregne lesetiden på samme måte.

Så det er slik du bruker dd og tester ytelsen til en I / O-enhet med den. Takk for at du leser denne artikkelen.

Hvordan utvikle et spill på Linux
For et tiår siden ville ikke mange Linux-brukere forutsi at deres favorittoperativsystem en dag ville være en populær spillplattform for kommersielle ...
Åpne kildeporter for kommersielle spillmotorer
Gratis, åpen kildekode og plattformspillmotorrekreasjoner kan brukes til å spille gamle så vel som noen av de ganske nylige spilletitlene. Denne artik...
Beste kommandolinjespill for Linux
Kommandolinjen er ikke bare din største allierte når du bruker Linux, den kan også være kilden til underholdning fordi du kan bruke den til å spille m...