Persembahan

Cara Menggunakan Perintah dd di Linux

Cara Menggunakan Perintah dd di Linux
The dd arahan digunakan untuk melakukan banyak perkara penting. Penggunaan yang paling biasa dan meluas dd arahannya ialah membuat pemacu USB yang dapat di-boot dari ISO atau IMG fail gambar. Saya banyak menggunakannya untuk membuat pemacu USB yang dapat di-boot dari sebaran Linux yang berbeza. Tetapi ada penggunaan lain dari dd perintah juga. Sebagai contoh, dd perintah dapat digunakan untuk membuat cadangan dari tabel partisi, mengubah teks dan fail, memasang pemuat but ke pemacu cakera keras, pemacu SSD atau USB. The dd arahan juga boleh digunakan untuk membuat ujian prestasi peranti storan seperti latensi cakera keras anda, kelajuan membaca dan menulis cakera keras anda dll.

Dalam artikel ini, saya akan menunjukkan kepada anda beberapa penggunaan biasa dari dd arahan dalam Linux. Saya akan menggunakan Debian 9 Stretch untuk demonstrasi. Tetapi ia mesti berfungsi pada pengedaran Linux yang lain. Mari kita mulakan.

Membuat Pemacu USB yang Boleh Dibooting dengan dd:

Membuat pemacu USB bootable dari sistem operasi kegemaran anda dengan dd arahan sangat mudah. Yang anda perlukan hanyalah pemacu USB dan ISO atau IMG imej sistem operasi yang anda mahu buat USB bootable.

Mari kita anggap, anda telah memuat turun ISO gambar Alpine Linux dan fail disimpan ke ~ / Muat turun direktori sebagai alpine-standard-3.8.0-x86_64.iso

Sekarang, anda boleh menyenaraikan semua storan yang disambungkan atau menyekat peranti dengan arahan berikut:

$ sudo lsblk

Seperti yang anda lihat, semua peranti storan atau blok yang disambungkan disenaraikan. Di sini, / dev / sdb adalah pemacu USB saya. Ia mempunyai dua bahagian, / dev / sdb1 dan / dev / sdb2. Tetapi apabila anda membuat pemacu boot USB, anda harus menggunakan / dev / sdb, keseluruhan peranti blok, bukan partisi.

Sekarang buat pemacu USB bootable dari Alpine Linux dengan arahan berikut:

$ sudo dd if = ~ / Muat turun / alpine-standard-3.8.0-x86_64.iso daripada = / dev / sdb bs = 1M

Di sini, jika =~ / Muat turun / alpine-standard-3.8.0-x86_64.iso pilihan digunakan untuk memberitahu dd bahawa fail input berada di jalan ~ / Muat turun / alpine-standard-3.8.0-x86_64.iso dan daripada =/ dev / sdb pilihan digunakan untuk memberitahu dd bahawa fail output berada di jalan / dev / sdb. The bs =1M memberitahu dd untuk membaca dari ~ / Muat turun / alpine-standard-3.8.0-x86_64.iso dan menulis kepada / dev / sdb 1 Megabait data pada satu masa.

Seperti yang anda lihat, fail ISO disalin ke blok peranti / dev / sdb. Sekarang anda boleh menggunakannya untuk memasang Alpine Linux.

Perintah ini sangat merosakkan. The dd arahan menghapus jadual partition dan metadata lain, bendera dari peranti blok. Jadi anda mesti berhati-hati.

Memaparkan Bar Kemajuan:

Secara lalai, dd arahan tidak menunjukkan bar kemajuan. Tetapi anda boleh memberitahu dd untuk menunjukkannya dengan status = kemajuan pilihan.

Contohnya, untuk menyalin data dari / dev / sda ke / dev / sdb 1 Megabait pada satu masa dan juga menunjukkan bar kemajuan, jalankan arahan berikut:

$ sudo dd if = / dev / sda of = / dev / sdb bs = 1M status = kemajuan

Seperti yang anda lihat, bar kemajuan dipaparkan. Anda dapat melihat berapa banyak data yang disalin dan kadar penyalinannya.

Mengukur Prestasi Baca dan Tulis Peranti Penyimpanan dengan dd:

Anda boleh mengukur kelajuan membaca dan menulis peranti storan dengan dd sangat mudah. Sudah tentu, terdapat banyak perisian grafik yang memberikan maklumat ini, tetapi peminat baris arahan akan menganggap ini sangat menarik.

Pertama, anda perlu memasang partition atau peranti storan pada sistem fail anda. Sekiranya anda tidak mempunyai partition pada peranti storan anda, anda selalu dapat membuatnya dengan fdisk perintah dan format ke sistem fail yang anda inginkan (seperti FAT32, EXT4, NTFS, XFS dan lain-lain). Di sini, saya menganggap bahawa anda mempunyai partition / dev / sdb1 dan diformat sebagai EXT4.

Katakan, anda mahu memasang / dev / sdb1 partition ke / mnt direktori, kemudian jalankan arahan berikut:

$ sudo mount / dev / sdb1 / mnt

Seperti yang anda lihat, partition / dev / sdb1 dipasang di / mnt direktori.

$ df -h

Sekarang mari kita buat fail 1 GB testrw di dalam / mnt direktori dengan dd:

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

Di sini, kiraan = 1 bermaksud, baca bs = 1G yang merupakan 1 Gigabyte dari / dev / sifar, dan tuliskan kepada / mnt / testrw fail.

The oflag = langsung pilihan digunakan untuk melumpuhkan cache cakera. Sekiranya cache cakera diaktifkan, anda tidak akan mendapat hasil yang sangat tepat.

NOTA: Ingat, untuk operasi ini, anda mesti mempunyai sekurang-kurangnya 1 GB memori atau RAM percuma di komputer anda. Sekiranya anda tidak mampu mendapatkan RAM sebanyak itu, maka kurangkan ukuran bs. Contohnya, tetapkan bs = 128M atau lebih kurang, bs = 64M.

Seperti yang anda lihat, kelajuan menulis pemacu USB saya adalah sekitar 6.1 MB sesaat.

Anda juga boleh menguji kelajuan membaca peranti storan anda dengan arahan berikut:

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

Seperti yang anda lihat, saya dapat membaca di 4.3 MB sesaat.

Uji Latensi Peranti Storan dengan dd:

Kependaman peranti storan adalah masa yang diperlukan untuk mengakses peranti. Ini adalah parameter penting yang dapat kita tentukan dengan bantuan dd perintah.

Untuk menguji kependaman, kita dapat menulis atau membaca sekumpulan kecil data (kira-kira 512 bait pada satu masa) X kali dan melihat berapa lama. Kemudian kita dapat mengira berapa lama masa untuk membaca atau menulis satu bahagian data dengan sangat mudah. Ini dipanggil latensi peranti storan.

Sebagai contoh, katakan anda mahu mengira latensi menulis. Sekarang jalankan arahan berikut untuk menulis 512 bait sekitar 1000 kali:

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

Seperti yang anda lihat, diperlukan 16.4541 saat untuk menulis 1000 ketulan dari 512 data bait. Sekarang, untuk menulis satu bahagian data, diperlukan sekitar (16.4541s / 1000 = 0.0164 s) 0.0164 saat. Jadi latensi tulis adalah kira-kira 0.0164 saat untuk peranti storan ini.

Anda boleh mengira latensi baca dengan cara yang sama.

Oleh itu, anda menggunakan dd dan menguji prestasi peranti I / O dengannya. Terima kasih kerana membaca artikel ini.

Battle For Wesnoth 1.13.6 Pembangunan Dikeluarkan
Battle For Wesnoth 1.13.6 dilancarkan bulan lalu, adalah rilis pengembangan keenam di 1.13.siri x dan memberikan sejumlah penambahbaikan, terutamanya ...
Cara Memasang League Of Legends di Ubuntu 14.04
Sekiranya anda peminat League of Legends, maka ini adalah peluang bagi anda untuk menguji menjalankan League of Legends. Perhatikan bahawa LOL disokon...
Pasang permainan Strategi OpenRA terkini di Ubuntu Linux
OpenRA adalah mesin permainan Strategi Masa Nyata / Bebas yang mencipta semula permainan Westwood awal seperti Command & Conquer klasik: Makluman Mera...