Ydeevne

Sådan bruges dd Command i Linux

Sådan bruges dd Command i Linux
Det dd kommando bruges til at gøre mange vigtige ting. Den mest almindelige og udbredte brug af dd kommandoen er at lave bootbare USB-drev fra en ISO eller IMG billedfil. Jeg bruger det meget til at lave bootbare USB-drev med forskellige Linux-distributioner. Men der er andre anvendelser af dd kommando også. F.eks dd kommando kan bruges til at lave en sikkerhedskopi af partitionstabellen, konvertere tekster og filer, installere en bootloader til en harddisk, SSD eller USB-drev. Det dd kommando kan også bruges til at teste ydeevnen for lagerenheder såsom latens på din harddisk, læse- og skrivehastighed på din harddisk osv.

I denne artikel vil jeg vise dig nogle af de almindelige anvendelser af dd kommando i Linux. Jeg bruger Debian 9 Stretch til demonstrationen. Men det skal fungere på enhver anden Linux-distribution. Lad os komme igang.

Oprettelse af et bootbart USB-drev med dd:

Oprettelse af et bootbart USB-drev af dit foretrukne operativsystem med dd kommando er meget let. Alt hvad du behøver er et USB-drev og en ISO eller IMG billede af operativsystemet, som du vil oprette en bootbar USB af.

Lad os antage, at du har downloadet en ISO billede af Alpine Linux, og filen gemmes i ~ / Downloads mappe som alpin-standard-3.8.0-x86_64.iso

Nu kan du liste alle tilsluttede lagrings- eller blokeringsenheder med følgende kommando:

$ sudo lsblk

Som du kan se, vises alle de tilsluttede lagrings- eller blokkenheder. Her, / dev / sdb er mit USB-drev. Det har to partitioner, / dev / sdb1 og / dev / sdb2. Men når du laver USB-bootbare drev, skal du bruge / dev / sdb, hele blokkenheden, ikke nogen partitioner.

Lav nu bootbart USB-drev af Alpine Linux med følgende kommando:

$ sudo dd if = ~ / Downloads / alpine-standard-3.8.0-x86_64.iso af = / dev / sdb bs = 1M

Her, hvis =~ / Downloads / alpine-standard-3.8.0-x86_64.iso indstilling bruges til at fortælle dd at inputfilen er i stien ~ / Downloads / alpine-standard-3.8.0-x86_64.iso og af =/ dev / sdb indstilling bruges til at fortælle dd at outputfilen er i stien / dev / sdb. Bs =1M fortæller dd at læse fra ~ / Downloads / alpine-standard-3.8.0-x86_64.iso og skriv til / dev / sdb 1 megabyte data ad gangen.

Som du kan se, kopieres ISO-filen til blokkenheden / dev / sdb. Nu kan du bruge det til at installere Alpine Linux.

Denne kommando er meget destruktiv. Det dd kommando sletter partitionstabellen og andre metadata, flag fra blokken. Så du skal være forsigtig.

Viser statuslinje:

Som standard er dd kommandoen viser ingen statuslinje. Men du kan fortælle det dd at vise det med status = fremskridt mulighed.

For eksempel at kopiere data fra / dev / sda til / dev / sdb 1 Megabyte ad gangen og også vise statuslinjen, kør følgende kommando:

$ sudo dd hvis = / dev / sda af = / dev / sdb bs = 1M status = fremskridt

Som du kan se, vises statuslinjen. Du kan se, hvor meget af data der kopieres, og hvor hurtigt de kopieres.

Måling af læse- og skriveydelse for en lagerenhed med dd:

Du kan måle læse- og skrivehastigheden på en lagerenhed med dd meget let. Der er selvfølgelig mange grafiske software, der giver disse oplysninger, men kommandolinjelove vil synes, det er meget interessant.

Først skal du montere partitionen eller lagerenheden på dit filsystem. Hvis du ikke har en partition på din lagerenhed, kan du altid oprette den med fdisk kommando og formater det til dit ønskede filsystem (f.eks FAT32, EXT4, NTFS, XFS etc). Her antager jeg, at du har en partition / dev / sdb1 og det er formateret som EXT4.

Lad os sige, du vil montere / dev / sdb1 partition til / mnt bibliotek, og kør derefter følgende kommando:

$ sudo mount / dev / sdb1 / mnt

Som du kan se, partitionen / dev / sdb1 er monteret på / mnt vejviser.

$ df -h

Lad os nu oprette en 1 GB-fil testrw i / mnt mappe med dd:

$ sudo dd hvis = / dev / nul = / mnt / testrw bs = 1G antal = 1 oflag = direkte

Her, optælling = 1 betyder, læse bs = 1G der er 1 Gigabyte fra / dev / nul, og skriv det til / mnt / testrw fil.

Det oflag = direkte option bruges til at deaktivere cache-cache. Hvis diskcaching er aktiveret, får du ikke meget nøjagtige resultater.

BEMÆRK: Husk, at til denne handling skal du have mindst 1 GB ledig hukommelse eller RAM på din computer. Hvis du ikke har råd til så meget gratis RAM, skal du reducere bs-størrelsen. Indstil f.eks bs = 128M eller endnu mindre, bs = 64M.

Som du kan se, handler skrivehastigheden på mit USB-drev omkring 6.1 MB pr. Sekund.

Du kan også teste læsehastigheden på din lagerenhed med følgende kommando:

$ sudo dd if = / mnt / testrw of = ~ / Downloads / test bs = 1G antal = 1 oflag = direkte

Som du kan se, kan jeg læse kl. 4.3 MB pr. Sekund.

Test af lagerenhedsforsinkelse med dd:

Latensen for en lagerenhed er den tid, det tager at få adgang til enheden. Det er en vigtig parameter, som vi kan bestemme ved hjælp af dd kommando.

For at teste for latens kan vi skrive eller læse små klumper af data (ca. 512 byte ad gangen) X gange og se, hvor lang tid det tager. Derefter kan vi beregne, hvor lang tid det tager at læse eller skrive et enkelt stykke data meget let. Dette kaldes lagringsenhedens latenstid.

Lad os for eksempel sige, at du vil beregne skrivelatensen. Kør nu følgende kommando for at skrive 512 bytes klump omkring 1000 gange:

$ sudo dd hvis = / dev / nul af = / mnt / testX bs = 512 count = 1000 oflag = direkte

Som du kan se, tager det ca 16.4541 sekunder at skrive 1000 klumper af 512 bytes-data. Nu for at skrive et enkelt stykke data tager det cirka (16.4541s / 1000 = 0.0164 s) 0.0164 sekunder. Så skrivelatensen er ca. 0.0164 sekunder for denne lagerenhed.

Du kan beregne læsetiden på samme måde.

Så det er sådan, du bruger dd og tester ydeevnen for en I / O-enhed med den. Tak, fordi du læste denne artikel.

Bedste kommandoliniespil til Linux
Kommandolinjen er ikke kun din største allierede, når du bruger Linux, den kan også være kilde til underholdning, fordi du kan bruge den til at spille...
Bedste apps til Gamepad Mapping til Linux
Hvis du kan lide at spille spil på Linux med en gamepad i stedet for et typisk tastatur- og musesystem, er der nogle nyttige apps til dig. Mange pc-sp...
Nyttige værktøjer til Linux-spillere
Hvis du kan lide at spille spil på Linux, er chancerne for, at du måske har brugt apps og hjælpeprogrammer som Wine, Lutris og OBS Studio for at forbe...