Pengurusan Disk

Perintah Linux dd

Perintah Linux dd
"Dd" adalah alat CLI linux. Sekarang, versi "dd" adalah bahagian dari inti inti GNU, adalah versi yang dimiliki oleh setiap sistem UNIX / Linux. Tujuan utama alat ini adalah menukar dan menyalin fail. Namun, ia sangat berbeza dengan alat penyalin fail lain seperti "cp".

ciri dd

"Dd" dapat digunakan untuk berbagai tujuan:

penggunaan dd

Berikut adalah beberapa penggunaan "dd" yang paling biasa dan menarik. Sudah tentu, "dd" jauh lebih mampu daripada perkara-perkara ini. Sekiranya anda berminat, saya selalu mengesyorkan untuk melihat sumber mendalam lain di "dd".

Lokasi

yang dd

Seperti yang ditunjukkan oleh output, setiap kali menjalankan "dd", ia dilancarkan dari "/ usr / bin / dd".

Penggunaan asas

Inilah struktur yang "dd" ikuti.

dd jika = daripada =

Sebagai contoh, mari buat fail dengan data rawak. Terdapat beberapa fail khas bawaan di Linux yang muncul sebagai fail biasa seperti "/ dev / zero" yang menghasilkan aliran berterusan NULL, "/ dev / random" yang menghasilkan data rawak berterusan.

dd if = / dev / urandom of = ~ / Desktop / rawak.txt bs = Kiraan 1M = 5

Pilihan pertama sangat jelas. Ini berarti menggunakan "/ dev / urandom" sebagai sumber data dan "~ / Desktop / rawak.txt ”sebagai destinasi. Apa pilihan lain?

Di sini, "bs" bermaksud "ukuran blok". Semasa dd menulis data, ia menulis dalam blok. Dengan menggunakan pilihan ini, ukuran blok dapat ditentukan. Dalam kes ini, nilai “1M” mengatakan bahawa ukuran blok adalah 1 megabait.

"Kiraan" memutuskan bilangan blok yang akan ditulis. Sekiranya tidak diperbaiki, "dd" akan meneruskan proses penulisan kecuali aliran input berakhir. Dalam kes ini, "/ dev / urandom" akan terus menghasilkan data tanpa batas, jadi pilihan ini adalah yang terpenting dalam contoh ini.

Sandaran data

Dengan menggunakan kaedah ini, "dd" dapat digunakan untuk membuang data keseluruhan drive! Yang anda perlukan hanyalah memberitahu pemacu sebagai sumbernya.

dd jika = daripada =

Sekiranya anda melakukan tindakan sedemikian, pastikan sumber anda bukan direktori. "Dd" tidak tahu bagaimana memproses direktori, jadi semuanya tidak akan berfungsi.

"Dd" hanya tahu bekerja dengan fail. Jadi, jika anda memerlukan sandaran direktori, gunakan tar untuk mengarkibkannya terlebih dahulu, kemudian gunakan "dd" untuk memindahkannya pada fail.

demo tar cvJf.tar.xz DemoDir /

dd if = demo.tar.xz dari = ~ / Desktop / sandaran.img

Dalam contoh seterusnya, kami akan melakukan operasi yang sangat sensitif: membuat sandaran MBR! Sekarang, jika sistem anda menggunakan MBR (Master Boot Record), maka ia terletak pada 512 bait pertama dari disk sistem: 466 bait untuk pemuat but, yang lain untuk jadual partition.

Jalankan arahan ini untuk membuat sandaran rekod MBR.

dd if = / dev / sda dari = ~ / Desktop / mbr.img bs = 512 kiraan = 1

Pemulihan data

Untuk sebarang sandaran, cara memulihkan data diperlukan. Dalam kes "dd", proses pemulihan sedikit berbeza daripada alat lain. Anda harus menulis semula fail sandaran pada folder / partition / peranti yang serupa.

Sebagai contoh, saya mempunyai "sandaran" ini.fail img "yang mengandungi" demo.tar.fail xz ”. Untuk mengekstraknya, saya menggunakan arahan berikut.

dd if = sandaran.img = demo.tar.xz

Sekali lagi, pastikan bahawa anda menulis output ke fail. "Dd" tidak baik dengan direktori, ingat?

Begitu juga, jika "dd" digunakan untuk membuat sandaran partisi, maka memulihkannya memerlukan perintah berikut.

dd jika = daripada =

Contohnya, bagaimana memulihkan MBR yang kita sandarkan lebih awal?

dd jika = mbr.img dari = / dev / sda

Pilihan "dd"

Pada titik tertentu dalam panduan ini, anda menghadapi beberapa pilihan "dd" seperti "bs" dan "count", betul? Terdapat lebih banyak daripada mereka. Berikut adalah senarai pendek mengenai perkara itu dan cara menggunakannya.

  • obs: Menentukan ukuran data yang akan ditulis dalam satu masa. Nilai lalai adalah 512 bait.

  • cbs: Menentukan ukuran data yang akan ditukar dalam satu masa.

  • ibs: Menentukan ukuran data yang akan dibaca dalam satu masa.
  • hitung: Salin N blok sahaja

  • cari: Langkau blok N pada permulaan output

  • langkau: Langkau blok N pada permulaan input

conv = ascii: Menukar input fail dari EBCDIC ke ASCII

conv = ebcdic: Menukar input fail dari ASCII ke EBCDIC

conv = ibm: menukar input fail dari ASCII ke EBCDIC alternatif

conv = lcase: menukar input fail dari Huruf Besar menjadi huruf kecil

conv = ucase: menukar input fail dari huruf kecil ke huruf besar

conv = swab: Tukar setiap pasangan input

Pilihan tambahan:

  • nocreat: Jangan buat fail output
  • notruc: Jangan memotong fail output
  • noerror: Teruskan operasi, walaupun menghadapi ralat
  • fdatasync: Tulis data ke storan fizikal sebelum proses selesai
  • fsync: Mirip dengan fdatasync, tetapi juga menulis metadata
  • iflag: Tweak operasi berdasarkan pelbagai bendera. Bendera yang tersedia termasuk: tambahkan untuk Menambahkan data ke output

Pilihan tambahan:

  • direktori: Menghadapi direktori akan gagal operasi
  • dsync: I / O yang disegerakkan untuk data
  • segerak: Sama dengan dsync tetapi merangkumi metadata
  • nocache: Permintaan untuk membuang cache.
  • nofollow: Jangan mengikuti symlink

Pilihan Tambahan:

  • count_bytes: Mirip dengan "count = N"
  • seek_bytes: Mirip dengan "seek = N"
  • skip_bytes: Mirip dengan "skip = N"

Seperti yang anda lihat, adalah mungkin untuk mengumpulkan banyak bendera dan pilihan dalam satu perintah "dd" untuk mengubah tingkah laku operasi.

dd if = demo.txt daripada = demo1.txt bs = 10 kiraan = 100 penukaran = ebcdic
iflag = append, nocache, nofollow, segerak

Pemikiran terakhir

Aliran kerja "dd" cukup mudah. Namun, untuk "dd" benar-benar bersinar, terserah anda. Terdapat banyak cara cara kreatif "dd" dapat digunakan untuk melakukan interaksi pintar.

Untuk maklumat mendalam tentang "dd" dan semua pilihannya, rujuk halaman lelaki dan maklumat.

lelaki dd
Shadow of the Tomb Raider untuk Tutorial Linux
Shadow of the Tomb Raider adalah penambahan kedua belas untuk siri Tomb Raider - francais permainan aksi-pengembaraan yang dibuat oleh Eidos Montreal....
Cara Meningkatkan FPS di Linux?
FPS bermaksud Bingkai sesaat. Tugas FPS adalah mengukur kadar bingkai dalam pemutaran video atau persembahan permainan. Dengan kata mudah bilangan gam...
Permainan Makmal Apl Oculus Teratas
Sekiranya anda adalah pemilik alat dengar Oculus, maka anda mesti mengetahui tentang memuatkan sideload. Sideloading adalah proses memasang kandungan ...