Manajemen Disk

Perintah Linux dd

Perintah Linux dd
"dd" adalah alat CLI linux. Sekarang, versi "dd" saat ini adalah bagian dari coreutils GNU, adalah versi yang dimiliki oleh setiap sistem UNIX/Linux. Tujuan utama alat ini adalah untuk mengonversi dan menyalin file. Namun, ini sangat berbeda dari alat penyalinan file lain seperti "cp".

fitur dd

“dd” dapat digunakan untuk berbagai tujuan:

penggunaan dd

Berikut adalah beberapa penggunaan "dd" yang paling umum dan menarik. Tentu saja, "dd" jauh lebih mampu daripada hal-hal ini. Jika Anda tertarik, saya selalu merekomendasikan untuk memeriksa sumber daya mendalam lainnya di “dd”.

Lokasi

yang mana

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

Penggunaan dasar

Inilah struktur yang "dd" ikuti.

dd jika = dari =

Misalnya, mari kita buat file dengan data acak. Ada beberapa file khusus bawaan di Linux yang muncul sebagai file normal seperti "/ dev/zero" yang menghasilkan aliran NULL berkelanjutan, "/ dev/random" yang menghasilkan data acak berkelanjutan.

dd if=/dev/urandom of=~/Desktop/random.txt bs=1M hitungan=5

Opsi pertama sudah cukup jelas. Artinya menggunakan “/dev/urandom” sebagai sumber data dan “~/Desktop/random.txt” sebagai tujuan. Apa pilihan lainnya??

Di sini, "bs" adalah singkatan dari "ukuran blok". Ketika dd menulis data, ia menulis dalam blok. Dengan menggunakan opsi ini, ukuran blok dapat ditentukan. Dalam hal ini, nilai "1M" mengatakan bahwa ukuran blok adalah 1 megabyte.

"count" memutuskan jumlah blok yang akan ditulis. Jika tidak diperbaiki, "dd" akan melanjutkan proses penulisan kecuali aliran input berakhir. Dalam hal ini, "/ dev/urandom" akan terus menghasilkan data tanpa batas, jadi opsi ini sangat penting dalam contoh ini.

Cadangan data

Menggunakan metode ini, "dd" dapat digunakan untuk membuang data dari seluruh drive! Yang Anda butuhkan hanyalah memberi tahu drive sebagai sumbernya.

dd jika = dari =

Jika Anda melakukan tindakan seperti itu, pastikan sumber Anda bukan direktori. "dd" tidak tahu cara memproses direktori, jadi semuanya tidak akan berfungsi.

"dd" hanya tahu cara bekerja dengan file. Jadi, jika Anda perlu mencadangkan direktori, gunakan tar untuk mengarsipkannya terlebih dahulu, lalu gunakan "dd" untuk mentransfernya ke file.

tar cvJf demo.ter.xz DemoDir/

dd jika = demo.ter.xz dari=~/Desktop/cadangan.gambar

Dalam contoh berikutnya, kami akan melakukan operasi yang sangat sensitif: mencadangkan MBR! Sekarang, jika sistem Anda menggunakan MBR (Master Boot Record), maka itu terletak di 512 byte pertama dari disk sistem: 466 byte untuk bootloader, yang lain untuk tabel partisi.

Jalankan perintah ini untuk mencadangkan catatan MBR.

dd if=/dev/sda of=~/Desktop/mbr.img bs=512 hitungan=1

pemulihan data

Untuk cadangan apa pun, cara memulihkan data diperlukan. Dalam kasus "dd", proses pemulihan sedikit berbeda dari alat lainnya. Anda harus menulis ulang file cadangan pada folder/partisi/perangkat yang serupa.

Misalnya, saya memiliki "cadangan" ini.img" file yang berisi "demo".ter.file xz”. Untuk mengekstraknya, saya menggunakan perintah berikut.

dd jika = cadangan.img dari=demo.ter.xz

Sekali lagi, pastikan Anda menulis output ke file. "dd" tidak bagus dengan direktori, ingat?

Demikian pula, jika "dd" digunakan untuk membuat cadangan partisi, maka memulihkannya akan memerlukan perintah berikut:.

dd jika = dari =

Misalnya, bagaimana memulihkan MBR yang kami buat sebelumnya?

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

opsi "dd"

Di beberapa titik dalam panduan ini, Anda menghadapi beberapa opsi "dd" seperti "bs" dan "hitung", kan?? Nah, ada lebih banyak dari mereka. Berikut adalah daftar pendek tentang apa itu dan bagaimana menggunakannya.

  • obs: Menentukan ukuran data yang akan ditulis pada suatu waktu. Nilai defaultnya adalah 512 byte.

  • cbs: Menentukan ukuran data yang akan dikonversi sekaligus.

  • ibs: Menentukan ukuran data yang akan dibaca pada suatu waktu.
  • hitung: Salin hanya N blok

  • seek: Lewati N blok di awal output

  • lewati: Lewati N blok di awal input

conv=ascii: Mengonversi input file dari EBCDIC ke ASCII

conv=ebcdic: Mengonversi input file dari ASCII ke EBCDIC

conv=ibm: mengonversi input file dari ASCII ke EBCDIC alternatif

conv=lcase: mengonversi input file dari huruf besar ke huruf kecil

conv=ucase: mengonversi input file dari huruf kecil ke huruf besar

conv=swab: Tukar setiap pasangan input

Opsi tambahan:

  • nocreat: Jangan buat file keluaran
  • notruc: Jangan potong file output
  • noerror: Lanjutkan operasi, bahkan setelah menghadapi kesalahan
  • fdatasync: Tulis data ke penyimpanan fisik sebelum proses selesai
  • fsync: Mirip dengan fdatasync, tetapi juga menulis metadata
  • iflag: Tweak operasi berdasarkan berbagai flag. Bendera yang tersedia meliputi: tambahkan ke Tambahkan data ke output

Opsi tambahan:

  • direktori: Menghadapi direktori akan gagal operasi
  • dsync: I/O yang disinkronkan untuk data
  • sinkronisasi: Mirip dengan dsync tetapi menyertakan metadata
  • nocache: Permintaan untuk menjatuhkan cache.
  • nofollow: Jangan ikuti symlink apa pun

Opsi Tambahan:

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

Seperti yang Anda lihat, dimungkinkan untuk menumpuk beberapa flag dan opsi dalam satu perintah "dd" untuk mengubah perilaku operasi.

dd jika = demo.txt dari=demo1.txt bs=10 hitungan=100 konv=ebcdic
iflag=tambahkan,nocache,nofollow,sinkronkan

Pikiran terakhir

Alur kerja "dd" cukup sederhana. Namun, agar "dd" benar-benar bersinar, terserah Anda. Ada banyak cara kreatif "dd" dapat digunakan untuk melakukan interaksi yang cerdas.

Untuk informasi mendalam tentang "dd" dan semua opsinya, lihat halaman manual dan info.

pria dd
Cara Meningkatkan FPS di Linux?
FPS adalah singkatan dari Bingkai per detik. Tugas FPS adalah mengukur kecepatan bingkai dalam pemutaran video atau pertunjukan game. Dengan kata sede...
Game Lab Aplikasi Oculus Teratas
Jika Anda adalah pemilik headset Oculus maka Anda harus tahu tentang sideloading. Sideloading adalah proses menginstal konten non-toko di headset Anda...
10 Game Teratas untuk Dimainkan di Ubuntu
Platform Windows telah menjadi salah satu platform yang mendominasi untuk bermain game karena persentase besar dari game yang berkembang saat ini untu...