dd komutu data duplicator anlamına gelir ve verilerin kopyalanması ve dönüştürülmesi için kullanılır.

  • Tüm sabit diski veya bölümü yedekleyin ve geri yükleyin.
  • MBR’nin Yedeklenmesi
  • Manyetik bant formatını kopyalayabilir ve dönüştürebilir, ASCII ve EBCDIC formatları arasında geçiş yapabilir, bayt baytları alabilir ve küçük harfleri büyük harfe çevirebilir.
  • Linux çekirdeği tarafından da kullanılabilir.

Yalnızca root ve sudo yekisi olanlar komutu çalıştırabilir, çünkü yanlış kullanımı nedeniyle büyük bir veri kaybıyla karşılaşabilirsiniz, bu nedenle çalışırken çok dikkatli olmalısınız. dd komutunun sintaksisi;

dd if=<kaynak dosya ismi> of=< kaynak dosya ismi > [Seçenekler]

if : Verileri kopyalamak istediğiniz yerden bir kaynaktır ve ‘if^’, ‘input file’ anlamına gelir.

of :Veriyi yazmak/yapıştırmak istediğiniz yerdir ve ‘of’, ‘output file’ anlamına gelir

Seçenekler : Seçenekler şunları içerir: verinin ne kadar hızlı yazılacağı, hangi format vb.

Sözdizimindeki giriş (kaynak dosya adı) ve Çıktı (hedef dosya adı), verileri yazmak ve okumak istediğiniz diskler, bölümler, dosyalar ve aygıtlardır. Örneklerde tartışacağımız birçok seçenek var.

  • Örnek 1: Bir sabit diski başka bir sabit diske kopyalayın. Bu, aynı yapılandırmaya sahip birçok makine inşa ettiğimizde yararlıdır. Tüm makinelere işletim sistemi kurmaya gerek yok. Sadece makineye işletim sistemini ve gerekli yazılımı yükleyin, ardından aşağıdaki örnekle kopyalayın.
dd if=/dev/sda of=/dev/sdb

  • Örnek 2: Disk bozulmasına karşın parçalı veya tam HDD’nin yedeğini alabiliriz.
dd if =/dev/sda2 of=~/hdadisk.img

Aldığımız yedeği geri yükleme.

dd if=~/hdadisk.img of=/dev/sdb3
  • Örnek 3: image alırken sıkıştırmak için.
dd if =/dev/sda2 | bzip2 hdadisk.img.bz2
  • Örnek 4: cp komutu yerine kullanabiliriz.
dd if=/home/imran/abc.txt of=/mnt/abc.txt
  • Örnek 5: Bir diskin içeriğini siler, böylece birisinin kullanması için boş olacak.
dd if=/dev/zero of=/dev/sdb

/dev/null ve /dev/zero benzer işlemleri yapar.

  • Örnek 6: Kişisel verilerinizi silebiliriz. Bir çok insan rm -rf / verilerinizi yapıp yapmadığımızı düşünür. Ancak bu silme işlemini Photorec veya bazı adli tıp araçları gibi disk kurtarma araçlarını kullanarak kurtarabiliriz. Ancak, verilerinizi kurtarmamayı istemiyorsanız, verilerin bulunduğu bölümünüze rastgele veri yazmanız gerekir.
dd if=/dev/random of=/dev/sdb

Verileri kurtarmayı dahada zorlaştırmak için, birden çok kez komut verebiliriz.

for i in {1..10};do dd if=/dev/random of=/dev/sdb;done
  • Örnek 7: swap olarak kullanılabilecek dd komutuyla sanal dosya sistemi oluşturabiliriz.
dd if=/dev/zero of=/swapfile bs=1024 count=200000

bs : block boyutudur. Blok boyutunu belirtmezseniz, dd varsayılan bir blok boyutunu 512 bayt kullanır. Aşağıdaki kurallar blok boyutları için çalışacaktır. kB(1000 byte), K(1024 byte), Mb(1000*1000 byte), MB(1024*1024 byte), Gb, GB, T, P ,E ,Z, Y opsiyonları kullanılabilir.

count : bs ile boyutları belirtilen bloklardan kaç adet kopyalanacağı

  • Örnek 8: dd komutunu kullanarak bir CD-ROM veya DVD-ROM’dan ISO dosyaları bile oluşturabiliriz.
dd if=/dev/dvd of=/opt/my_linux_image.iso

veya

dd if=/dev/sr0 of=/home/$user/mycd_image.iso bs=2048 conv=sync
  • Örnek 9: dd komutunu kullanarak önyüklenebilir USB bile oluşturabiliriz.
dd if=/home/$user/bootimage.img of=/dev/sdc
  • Örnek 10: Disk yazma hızını ölçmek için;
dd if=/dev/zero of=tempfile bs=1M count=1024
  • Örnek 11: Disk buffer okuma ölçmek için;
dd if=tempfile of=/dev/null bs=1M count=1024
  • Örnek 12: Disk gerçek okuma hızını ölçmek için;
/sbin/sysctl -w vm.drop_caches=3
dd if=tempfile of=/dev/null bs=1M count=1024

Mustafa Bektaş Tepe
İyi Çalışmalar.

Loading