U ovom članku pokazat ću vam neke od uobičajenih upotreba dd naredba u Linuxu. Za demonstraciju ću koristiti Debian 9 Stretch. Ali to bi trebalo raditi na bilo kojoj drugoj Linux distribuciji. Započnimo.
Izrada USB pogona za pokretanje s dd:
Izrada USB pogona za pokretanje vašeg omiljenog operativnog sustava s pomoću dd naredba je vrlo jednostavna. Sve što trebate je USB pogon i ISO ili IMG slika operativnog sustava od kojeg želite napraviti USB za pokretanje.
Pretpostavimo da ste preuzeli ISO slika Alpine Linuxa i datoteka se sprema u ~ / Preuzimanja imenik kao alpski-standard-3.8.0-x86_64.izo
Sada možete popisati sve povezane uređaje za pohranu ili blokirati pomoću sljedeće naredbe:
$ sudo lsblkKao što vidite, navedeni su svi povezani uređaji za pohranu ili blokiranje. Ovdje, / dev / sdb je moj USB pogon. Ima dvije pregrade, / dev / sdb1 i / dev / sdb2. Ali kada izrađujete USB pogone za pokretanje, morate koristiti / dev / sdb, čitav blok uređaj, a ne bilo koje particije.
Sada napravite pokretački USB pogon Alpine Linuxa sa sljedećom naredbom:
$ sudo dd if = ~ / Preuzimanja / alpski-standard-3.8.0-x86_64.iso od = / dev / sdb bs = 1M
Evo, ako je =~ / Preuzimanja / alpski-standard-3.8.0-x86_64.izo opcija koristi za kazivanje dd da je ulazna datoteka na putu ~ / Preuzimanja / alpski-standard-3.8.0-x86_64.izo i od =/ dev / sdb opcija koristi za kazivanje dd da je izlazna datoteka na putu / dev / sdb. Bs =1 mil govori dd čitati iz ~ / Preuzimanja / alpski-standard-3.8.0-x86_64.izo i napiši na / dev / sdb 1 megabajt podataka odjednom.
Kao što vidite, ISO datoteka se kopira na blok-uređaj / dev / sdb. Sada ga možete koristiti za instaliranje Alpine Linuxa.
Ova je naredba vrlo destruktivna. The dd naredba briše tablicu particija i druge metapodatke, zastavice s blok uređaja. Stoga morate biti oprezni.
Prikazivanje trake napretka:
Prema zadanim postavkama dd naredba ne prikazuje traku napretka. Ali možeš reći dd pokazati to s status = napredak opcija.
Na primjer, za kopiranje podataka iz / dev / sda do / dev / sdb 1 megabajta istodobno, a također prikazuje traku napretka, pokrenite sljedeću naredbu:
$ sudo dd ako = / dev / sda od = / dev / sdb bs = 1M status = napredak
Kao što vidite, prikazuje se traka napretka. Možete vidjeti koliko se podataka kopira i brzinom kojom se kopiraju.
Mjerenje performansi čitanja i pisanja uređaja za pohranu pomoću dd:
Pomoću možete izmjeriti brzinu čitanja i pisanja uređaja za pohranu dd vrlo lako. Naravno, postoji mnogo grafičkih softvera koji pružaju ove informacije, ali ljubiteljima naredbenog retka ovo bi bilo vrlo zanimljivo.
Prvo morate instalirati particiju ili uređaj za pohranu na svoj datotečni sustav. Ako na memorijskom uređaju nemate particiju, uvijek je možete stvoriti pomoću fdisk naredbu i formatirajte je u željeni datotečni sustav (kao što je FAT32, EXT4, NTFS, XFS itd.). Evo, pretpostavljam da imate particiju / dev / sdb1 a formatiran je kao EXT4.
Recimo, želite montirati / dev / sdb1 pregrada na / mnt direktorija, a zatim pokrenite sljedeću naredbu:
$ sudo mount / dev / sdb1 / mnt
Kao što vidite, particija / dev / sdb1 je montiran na / mnt imenik.
$ df -h
Ajmo sada stvoriti datoteku od 1 GB testrw u / mnt imenik sa dd:
$ sudo dd ako = / dev / zero of = / mnt / testrw bs = 1G count = 1 oflag = directOvdje, broj = 1 znači, pročitajte bs = 1G što je 1 gigabajt od / dev / nula, i napiši to / mnt / testrw datoteka.
The oflag = izravno opcija se koristi za onemogućavanje predmemoriranja diska. Ako je omogućeno predmemoriranje diska, nećete dobiti vrlo točne rezultate.
BILJEŠKA: Zapamtite, za ovu operaciju na računalu morate imati najmanje 1 GB slobodne memorije ili RAM-a. Ako si ne možete priuštiti toliko besplatnog RAM-a, smanjite veličinu bs-a. Na primjer, set bs = 128M ili još manje, bs = 64M.
Kao što vidite, brzina pisanja na moj USB pogon je otprilike 6.1 MB u sekundi.
Također možete testirati brzinu čitanja vašeg uređaja za pohranu pomoću sljedeće naredbe:
$ sudo dd ako = / mnt / testrw od = ~ / Preuzimanja / test bs = 1G count = 1 oflag = direct
Kao što vidite, znam čitati u 4.3 MB u sekundi.
Testiranje kašnjenja uređaja za pohranu s dd:
Latencija uređaja za pohranu je vrijeme potrebno za pristup uređaju. To je važan parametar koji možemo utvrditi uz pomoć dd naredba.
Da bismo testirali kašnjenje, možemo X puta napisati ili pročitati male dijelove podataka (otprilike 512 bajtova) i vidjeti koliko vremena traje. Tada možemo izračunati koliko je vremena potrebno za čitanje ili pisanje pojedinog dijela podataka vrlo jednostavno. To se naziva latencija uređaja za pohranu.
Na primjer, recimo da želite izračunati kašnjenje pisanja. Sada pokrenite sljedeću naredbu da biste otprilike 1000 puta napisali 512 bajtova:
$ sudo dd ako = / dev / zero of = / mnt / testX bs = 512 count = 1000 oflag = direct
Kao što vidite, potrebno je otprilike 16.4541 sekunde za pisanje 1000 komadi od 512 bajtova podataka. Sada je za pisanje jednog dijela podataka potrebno približno (16.4541s / 1000 = 0.0164 s) 0.0164 sekunde. Dakle, latencija pisanja je oko 0.0164 sekunde za ovaj uređaj za pohranu.
Latenciju čitanja možete izračunati na isti način.
Dakle, na taj način koristite dd i s njim testirajte performanse I / O uređaja. Hvala što ste pročitali ovaj članak.