V tomto článku vám ukážu některé běžné způsoby použití dd příkaz v Linuxu. Pro demonstraci budu používat Debian 9 Stretch. Mělo by to ale fungovat na jakékoli jiné distribuci Linuxu. Začněme.
Vytvoření bootovatelné jednotky USB pomocí dd:
Vytvoření zaváděcí jednotky USB vašeho oblíbeného operačního systému pomocí dd příkaz je velmi snadný. Vše, co potřebujete, je USB disk a ISO nebo IMG obrázek operačního systému, ze kterého chcete vytvořit zaváděcí USB.
Předpokládejme, že jste si stáhli soubor ISO obrázek Alpine Linux a soubor se uloží do ~ / Ke stažení adresář jako alpský standard-3.8.0-x86_64.iso
Nyní můžete zobrazit seznam všech připojených úložišť nebo blokovat zařízení pomocí následujícího příkazu:
$ sudo lsblkJak vidíte, jsou zde uvedena všechna připojená úložiště nebo blokovací zařízení. Tady, / dev / sdb je můj USB disk. Má dva oddíly, / dev / sdb1 a / dev / sdb2. Ale když děláte zaváděcí USB disky, musíte použít / dev / sdb, celé blokové zařízení, ne žádné oddíly.
Nyní vytvořte zaváděcí jednotku USB systému Alpine Linux pomocí následujícího příkazu:
$ sudo dd if = ~ / Soubory ke stažení / alpine-standard-3.8.0-x86_64.iso of = / dev / sdb bs = 1M
Tady, pokud =~ / Soubory ke stažení / alpine-standard-3.8.0-x86_64.iso volba se používá k prozradení dd že vstupní soubor je v cestě ~ / Soubory ke stažení / alpine-standard-3.8.0-x86_64.iso a =/ dev / sdb volba se používá k prozradení dd že výstupní soubor je v cestě / dev / sdb. Bs =1 mil vypráví dd číst z ~ / Soubory ke stažení / alpine-standard-3.8.0-x86_64.iso a napsat / dev / sdb 1 megabajt dat najednou.
Jak vidíte, soubor ISO se zkopíruje do blokového zařízení / dev / sdb. Nyní jej můžete použít k instalaci Alpine Linux.
Tento příkaz je velmi destruktivní. The dd příkaz vymaže tabulku oddílů a další metadata, příznaky z blokového zařízení. Takže musíte být opatrní.
Zobrazení indikátoru průběhu:
Ve výchozím nastavení je dd Příkaz nezobrazuje žádný indikátor průběhu. Ale můžete to říct dd ukázat to s stav = pokrok volba.
Například ke kopírování dat z / dev / sda na / dev / sdb 1 megabajty najednou a také zobrazte indikátor průběhu, spusťte následující příkaz:
$ sudo dd if = / dev / sda of = / dev / sdb bs = 1M status = progress
Jak vidíte, zobrazí se indikátor průběhu. Můžete vidět, kolik dat se kopíruje a jak rychle se kopírují.
Měření výkonu čtení a zápisu úložného zařízení pomocí dd:
Můžete měřit rychlost čtení a zápisu paměťového zařízení pomocí dd velmi lehce. Samozřejmě existuje mnoho grafických softwarů, které tyto informace poskytují, ale milovníci příkazového řádku by to považovali za velmi zajímavé.
Nejprve musíte připojit oddíl nebo úložné zařízení do vašeho souborového systému. Pokud na svém úložném zařízení nemáte oddíl, můžete jej vždy vytvořit pomocí fdisk a naformátujte jej na požadovaný souborový systém (např FAT32, EXT4, NTFS, XFS atd). Zde předpokládám, že máte oddíl / dev / sdb1 a je naformátován jako EXT4.
Řekněme, že se chcete připojit / dev / sdb1 oddíl do / mnt adresáře, pak spusťte následující příkaz:
$ sudo mount / dev / sdb1 / mnt
Jak vidíte, oddíl / dev / sdb1 je namontován na / mnt adresář.
$ df -h
Nyní vytvořme 1 GB soubor testrw v / mnt adresář s dd:
$ sudo dd if = / dev / zero of = / mnt / testrw bs = 1G count = 1 oflag = directTady, počet = 1 znamená číst bs = 1G což je 1 gigabajt od / dev / nula, a napiš to / mnt / testrw soubor.
The oflag = přímý možnost slouží k deaktivaci ukládání do mezipaměti disku. Pokud je povoleno ukládání do mezipaměti disku, nebudete mít velmi přesné výsledky.
POZNÁMKA: Nezapomeňte, že pro tuto operaci musíte mít v počítači alespoň 1 GB volné paměti nebo RAM. Pokud si nemůžete dovolit tolik volné RAM, zmenšete velikost bs. Například set bs = 128 mil nebo ještě méně, bs = 64 mil.
Jak vidíte, rychlost zápisu na můj USB disk je asi 6.1 MB za sekundu.
Rychlost čtení vašeho úložného zařízení můžete také otestovat pomocí následujícího příkazu:
$ sudo dd if = / mnt / testrw of = ~ / Downloads / test bs = 1G počet = 1 oflag = přímý
Jak vidíte, mohu číst ve 4.3 MB za sekundu.
Testování latence úložného zařízení pomocí dd:
Latence paměťového zařízení je čas potřebný k přístupu k zařízení. Je to důležitý parametr, který můžeme určit pomocí dd příkaz.
Abychom otestovali latenci, můžeme psát nebo číst malé kousky dat (přibližně 512 bajtů najednou) Xkrát a zjistit, jak dlouho to trvá. Pak můžeme vypočítat, jak dlouho trvá snadné čtení nebo zápis jednoho bloku dat. Tomu se říká latence paměťového zařízení.
Řekněme například, že chcete vypočítat latenci zápisu. Nyní spusťte následující příkaz a zapište 512 bajtových bloků asi 1000krát:
$ sudo dd if = / dev / zero of = / mnt / testX bs = 512 count = 1000 oflag = direct
Jak vidíte, trvá to asi 16.4541 sekund na psaní 1000 kousky 512 bajtů dat. Nyní, abychom zapsali jeden kus dat, to trvá asi (16.4541s / 1000 = 0.0164 s) 0.0164 sekund. Latence zápisu je tedy asi 0.0164 sekund pro toto úložné zařízení.
Latenci čtení můžete vypočítat stejným způsobem.
Takto tedy používáte dd a testujete s ním výkon I / O zařízení. Děkujeme za přečtení tohoto článku.