Giriş
Linux işletim sistemlerinde cp komutu dosya seviyesinde kopyalama yaparken, dd komutu ham veri (raw data) seviyesinde blok blok kopyalama yapar. Bu özellik, onu disk klonlama, önyüklenebilir USB hazırlama ve bölüm yedekleme gibi kritik görevler için vazgeçilmez kılar.
Temel Sözdizimi
dd if=GİRDİ of=ÇIKTI [SEÇENEKLER]UYARI:ddkomutu hata payı bırakmaz.of=parametresine yanlış bir disk yolu girerseniz, o diskteki tüm veriler kalıcı olarak silinir. İşlemden öncelsblkveyasudo fdisk -lile hedefi mutlaka doğrulayın.
Senaryo 1: ISO Dosyasını USB'ye Yazdırma
Bir Linux dağıtımını USB üzerinden kurmak için şu adımları izleyin:
- USB cihazınızın yolunu belirleyin:
lsblk - USB sürücüsünü bağlantıdan kaldırın:
sudo umount /dev/sdX1 - ISO dosyasını yazdırın:
sudo dd if=dosya.iso of=/dev/sdX bs=4M status=progress oflag=syncSenaryo 2: Tüm Diski Klonlama
Bir diski başka bir diske birebir kopyalamak için:
sudo dd if=/dev/sda of=/dev/sdb bs=64K conv=noerror,sync status=progressconv=noerror: Okuma hatası durumunda işlemi durdurmaz.conv=sync: Okuma hatalarını sıfırlarla doldurarak hizalamayı korur.
Senaryo 3: Bölüm Yedekleme ve Sıkıştırma
Bir bölümü yedekleyip alan kazanmak için gzip ile borulama (piping) yöntemini kullanın:
sudo dd if=/dev/sda1 bs=4M status=progress | gzip -c > /yedek/sda1.img.gzSenaryo 4: Disk Performans Testi (Benchmark)
Disk yazma hızını ölçmek için 1 GB boyutunda test dosyası oluşturun:
dd if=/dev/zero of=testfile bs=1M count=1024 oflag=directİpuçları ve Yaygın Sorunlar
- İlerleme Çubuğu: Eğer komutu
status=progressparametresi olmadan başlattıysanız, başka bir terminaldensudo kill -USR1 $(pidof dd)komutunu çalıştırarak anlık durumu görebilirsiniz. - Performans: Varsayılan blok boyutu 512 bayttır.
bs=4Mkullanarak işlem süresini ciddi oranda kısaltabilirsiniz. - SSD Uyarısı: SSD diskleri silmek için
ddyerineblkdiscardveya üretici yazılımlarını kullanın;ddile yapılan tam disk silme işlemleri SSD ömrünü gereksiz yere tüketebilir.


