Belge

dd Komutu Hakkında Pratik Örnekler

 

Örneklerle Linux dd Komutunu Öğrenmek

Dd komutu, dosyaları dönüştürmek ve kopyalamak için kullanılan, Unix ve Unix benzeri sistemler için güçlü bir yardımcı programdır.  Bu yazıda dd komutunun etkili bir şekilde nasıl kullanılacağına dair çeşitli örnekleri inceleyeceğiz.

  1. Bir sürücüyü rastgele verilerle doldurma: Bu komut sürücüyü rastgele verilerle doldurur.  Sürücüdeki mevcut verilerin üzerine yazılacağı için dikkatli olun.
    dd if=/dev/urandom of=/dev/sda bs=4k

    Bu komut, bir sürücünün üzerine rastgele veriler yazarak güvenli bir şekilde silinmesi için kullanışlıdır.

  2. Sürücüden sürücüye çoğaltma: Bu komut, bir sürücünün içeriğini diğerine kopyalar.
    dd if=/dev/sda of=/dev/sdb bs=4096

    Bir sürücünün yedeğini oluşturmak veya verileri yeni bir sürücüye taşımak için kullanışlıdır.

  3. Sabit sürücüyü temizleme: Bu komut, bir sürücüye sıfırlar yazarak içeriğini etkili bir şekilde siler.
    dd if=/dev/zero of=/dev/sda bs=4k

    Tamamen silinmesini sağlamak için tekrarlanması gerekebilir.

  4. Dosyadan teyp cihazına kopyalama: Bu komut, verileri bir dosyadan bir teyp aygıtına kopyalar.
    dd if=inputfile of=/dev/st0 bs=32k conv=sync

    The conv=sync option ensures synchronized I/O operations.

  5. Verileri banttan dosyaya kopyalama: Bu komut, verileri bir bant aygıtından bir dosyaya kopyalayarak önceki işlemi tersine çevirir.
    dd if=/dev/st0 of=outfile bs=32k conv=sync
  6. Bir sürücünün sıfırlanıp sıfırlanmadığını kontrol etme: Bu komut bir sürücüyü okur ve sıfır olmayan verileri kontrol eder.
    dd if=/dev/sda | hexdump -C | grep [^00]

    Bu, bir sürücünün başarıyla silinip silinmediğini doğrulamaya yardımcı olur.

  7. Bir bölümü doldurma: Bu komut, bir bölümü rastgele verilerle doldurur.
    dd if=/dev/urandom of=/home/$user/hugefile bs=4096

    Verilerin üzerine yazılacağı için sistem bölümlerine karşı dikkatli olun.

  8. Bir dosyayı karıştırma: Bu komut, silmeden önce rastgele veriler içeren bir dosyanın üzerine yazar.
    ls -l myfile
    -rw-r--r-- 6703104 Oct 31 18:25 myfile
    dd if=/dev/urandom of=myfile bs=6703104 count=1
    rm myfile

    Bu, dosyaları güvenli bir şekilde silmek için kullanılabilir.

  9. Bir bölümü başka bir bölüme kopyalama: Bu komut, verileri kesmeden bir bölümden diğerine kopyalar.
    dd if=/dev/sda3 of=/dev/sdb3 bs=4096 conv=notrunc,noerror

    conv=notrunc,noerror seçenekleri kesilme olmamasını ve okuma hatalarında devam edilmesini sağlar.

  10. Bir bölümün gzip’li görüntüsünü oluşturma: Bu komut, bir bölümün sıkıştırılmış görüntüsünü oluşturur.
    dd if=/dev/sdb2 ibs=4096 | gzip > partition.image.gz conv=noerror

    This is useful for creating backups of partitions.

  11. Manyetik bant sürücüsü içeriğini bir dosyaya kopyalama: Bu komut, teyp sürücüsünün içeriğini EBCDIC’den ASCII’ye dönüştürerek bir dosyaya kopyalar.
    dd bs=10240 cbs=80 conv=ascii,unblock if=/dev/st0 of=ascii.out
  12. 1KB blok cihazdan 2KB blok cihaza kopyalama: Bu komut, verileri farklı blok boyutlarına sahip cihazlar arasında kopyalar.
    dd if=/dev/st0 ibs=1024 obs=2048 of=/dev/st1
  13. Sıfırlar /dev/null’a kopyalanıyor: Bu komut, sıfırları boş aygıta kopyalayarak G/Ç hızını karşılaştırmak için kullanışlıdır.
    dd if=/dev/zero of=/dev/null bs=100M count=100
    100+0 records in
    100+0 records out
    10485760000 bytes (10 GB) copied, 5.62955 s, 1.9 GB/s
  14. GPT’yi diskten silme: Bu komut, sürücünün başına ve sonuna sıfırlar yazarak GPT’yi diskten siler.
    dd if=/dev/zero of=/dev/sda bs=512 count=2
    fdisk -s /dev/sda
    dd if=/dev/zero of=/dev/sda seek=(number_of_sectors - 20) bs=1k

     

  15. Önyüklenebilir bir USB sürücüsü oluşturma: Bu komut, bir görüntü dosyasını önyüklenebilir hale getirmek için USB sürücüsüne yazar.
    dd if=/location/of/bootimage.img of=/dev/sdX
  16. Bozuk blokları kontrol etme: Bu komut hatalı blokları kontrol etmek için sürücüyü okur.
    dd if=/dev/sda of=/dev/null bs=1m
  17. MBR’yi diskete kopyalama: Bu komut, Ana Önyükleme Kaydını (MBR) bir diskete kopyalar.
    dd if=/dev/sda of=/dev/fd0 bs=512 count=1

    This is useful for creating backups of the MBR.

  18. Bölümlerle sürücüden sürücüye çoğaltma: Bu komut belirli bir bölümü bir sürücüden diğerine kopyalar.
    dd if=/dev/sda1 of=/dev/sdb1 bs=4096
  19. CD görüntüsü oluşturma: Bu komut bir CD’nin ISO görüntüsünü oluşturur.
    dd if=/dev/sr0 of=/home/$user/mycdimage.iso bs=2048 conv=nosync
  20. Bir diski aynı boyuttaki başka bir diskle değiştirme: Bu komut, bir diski aynı boyuttaki başka bir diskle değiştirirken kullanışlıdır.
    dd if=/dev/sda of=/dev/sdb bs=64k conv=sync
  21. Bir bölümün DVD görüntülerini oluşturma: Bu komut, yedekleme amacıyla bir bölümün birden çok DVD görüntüsünü oluşturur.
    dd if=/dev/sda2 of=/home/$user/hddimage1.img bs=1M count=4430
    dd if=/dev/sda2 of=/home/$user/hddimage2.img bs=1M count=8860
    [...]
  22. Yedekten geri yükleme:Bu komut, önceden oluşturulmuş DVD görüntülerinden verileri geri yükler.

    dd if=/$location/hddimage1.img of=/dev/sda2 bs=1M

    dd if=/$location/hddimage2.img of=/dev/sda2 seek=4430 bs=1M
    dd if=/$location/hddimage3.img of=/dev/sda2 seek=8860 bs=1M
    [and so on...]
  23. Süper bloğu yok etmek: Bu komut bir dosya sisteminin süper bloğunu yok eder.
    dd if=/dev/zero count=1 bs=1024 seek=1 of=/dev/sda6
  24. Süper bloğu yok etmenin başka bir yolu: Bu komut süper bloğu yok etmek için başka bir yöntem sağlar.
    dd if=/dev/zero count=1 bs=4096 seek=0 of=/dev/sda5
  25. Bir dosyayı virüslere karşı kontrol etme: Bu komut, ClamAV kullanarak bir dosyada virüs olup olmadığını kontrol eder.
    dd if=/home/$user/suspicious.doc | clamscan -
  26. Bir ikili dosyanın içeriğine bakma: Bu komut, hexdump kullanarak bir ikili dosyanın içeriğini görüntüler.
    dd if=/home/$user/binary file | hexdump -C | less
  27. Sabit sürücü okuma/yazma hızını karşılaştırma: Bu komut, bir sabit sürücünün okuma/yazma hızını karşılaştırır.
    dd if=/home/$user/bigfile of=/dev/null
    dd if=/dev/zero of=/home/$user/bigfile bs=1024 count=1000000
  28. Eski sabit sürücülerin yeniden canlandırılması: Bu komut, veri yazıp okuyarak eski sabit sürücülerin yeniden canlandırılmasına yardımcı olur.
    dd if=/dev/sda of=/dev/sda
  29. Bellek içeriklerinin incelenmesi: Bu komut, insan tarafından okunabilen dizeler için bellek içeriğini inceler.
    dd if=/dev/mem | strings | grep 'string_to_search'
  30. Disket kopyalama: Bu komut, bir disketin görüntüsünü oluşturur.
    dd if=/dev/fd0 of=/home/$user/floppy.image bs=2x80x18b conv=notrunc
  31. Rastgele anlamsız bir 1KB dosyası oluşturma: Bu komut rastgele verilerle küçük bir dosya oluşturur.
    dd if=/dev/urandom of=/home/$user/myrandom bs=100 count=1
  32. Sistem belleği görüntüsü oluşturma: Bu komut, sistem belleğinin mevcut durumunun bir görüntüsünü oluşturur.
    dd if=/dev/mem of=/home/$user/mem.bin bs=1024
  33. Dosyayı stdout’a yazdırma: Bu komut, bir dosyanın içeriğini terminale yazdırır.
    dd if=/home/$user/myfile
  34. Bir dize için bölüm arama: Bu komut, bir bölüm içindeki belirli bir dizeyi arar.
    dd if=/dev/sda2 bs=16065 | hexdump -C | grep 'text_to_search'
  35. Bir dosyanın ilk 64KB’SİNİ atlama: Bu komut, ilk 64KB’Yİ atlayarak bir dosyayı kopyalar.
    dd if=/home/$user/file.bin skip=64k bs=1 of=/home/$user/convfile.bin
  36. Önyüklenebilir bir USB sürücü oluşturma: Bu komut, önyüklenebilir hale getirmek için bir görüntü dosyasını bir USB sürücüsüne yazar.
    dd if=/home/$user/bootimage.img of=/dev/sdc
  37. BIOS okuma: Bu komut BIOS içeriğini okur.
    dd if=/dev/mem bs=1k skip=768 count=256 2>/dev/null | strings -n 8
  38. Nero görüntüsünü ıso’ya dönüştürme: Bu komut bir Nero görüntüsünü standart bir ISO görüntüsüne dönüştürür.
    dd bs=1k if=imagefile.nrg of=imagefile.iso skip=300k
  39. Geçici takas alanı oluşturma: Bu komut geçici bir takas dosyası oluşturur.
    dd if=/dev/zero of=tmpswap bs=1k count=1000000
    chmod 600 tmpswap
    mkswap tmpswap
    swapon tmpswap
  40. G/Ç hızını belirleme: Bu komut, 1 GB veri okuyarak bir sürücünün G / Ç hızını ölçer.
    dd if=/dev/sda of=/dev/null bs=1024k count=1024
    1073741824 bytes (1.1 GB) copied, 24.1684 s, 44.4 MB/s
  41. Rastgele bir sayı oluşturma: Bu komut rastgele bir sayı üretir.
    dd if=/dev/random count=1 2>/dev/null | od -t u1 | awk '{ print $2}' | head -1
  42. RAM’i bir dosyaya kopyalama: Bu komut, sistem ram’inin bir görüntüsünü oluşturur.
    dd if=/dev/mem of=myRAM bs=1024
  43. MBR içeriğini görüntüleme: Bu komut, Ana Önyükleme Kaydının içeriğini hex ve ASCII olarak görüntüler.
    dd if=/dev/sda bs=512 count=1 | od -xa
  44. Bölüm tablosu olmadan mbr’yi geri yükleme: Bu komut, bölüm tablosunu bozmadan mbr’yi geri yükler.
    dd if=/my/old/mbr of=/dev/sda bs=446 count=1
  45. Sınırlı boyutta bölüm kopyası oluşturma: Bu komut, bir bölümün bir kopyasını oluşturarak daha küçük dosyalara böler.
    dd if=/dev/sda1 | split -b 700m - sda1-image
  46. Metni büyük harfe dönüştürme: Bu komut, bir komutun çıktısını büyük harfe dönüştürür.
    ls -l | dd conv=ucase
  47. Metni küçük harfe dönüştürme: Bu komut, herhangi bir metni küçük harfe dönüştürür.
    echo "MY UPPER CASE TEXT" | dd conv=lcase
  48. Sistem parolası dosyasını ebcdıc’e dönüştürme: Bu komut, sistem parolası dosyasını sabit uzunlukta EBCDIC biçimine dönüştürür.
    dd if=/etc/passwd cbs=132 conv=ebcdic of=/tmp/passwd.ebcdic
  49. Ascıı’yi ebcdıc’e dönüştürme: Bu komut bir metin dosyasını ascıı’den ebcdıc’e dönüştürür.
    dd if=text.ascii of=text.ebcdic conv=ebcdic
  50. Bir dosyayı büyük harfe dönüştürme: Bu komut, bir dosyanın içeriğini büyük harfe dönüştürür.
    dd if=myfile of=myfile conv=ucase

Yazının orijinalini buradan okuyabilirsiniz.