Seluruh perangkat keluaran dihapus apakah ukurannya merupakan kelipatan dari ukuran blok yang Anda lewati ddatau tidak.
The notruncbendera tidak berpengaruh ketika output adalah file device, karena truncating file perangkat tidak berpengaruh. Jika output adalah file biasa, itu akan memiliki efek bahwa file output tidak terpotong sebelum menulis, yang pada beberapa sistem file berarti bahwa data lama ditimpa (bukan menulis blok data baru dan membiarkan sisanya tidak terpasang), namun ini tidak akan berguna karena properti ini tidak dijamin oleh semua sistem file dan lebih jauh lagi perintahnya tidak hanya akan menimpa file, tetapi juga terus menulis hingga memenuhi disk keluaran (atau beberapa kesalahan lain terjadi).
Alih-alih menggunakan dddan mengkhawatirkan apakah Anda menggunakannya dengan benar (seperti yang terjadi, ia berfungsi dalam kasus khusus ini, tetapi rumit dan terkadang tidak berfungsi ), gunakan sajacat .
cat /dev/zero >/dev/sdX
Meskipun kepercayaan populer di web, sama sekali tidak ada keajaiban di dddalamnya yang membuatnya entah bagaimana lebih cocok untuk menulis ke disk. Keajaiban ada di /devfile. Alat apa pun yang dapat mengatasi data biner, seperti yang modern catatau head, dapat melakukan pekerjaan yang sama seperti ddkecuali Anda melewati bendera seperti seekatau skip.
Perhatikan bahwa masalah dibagikan oleh dddan catadalah bahwa pada operasi yang berhasil, mereka akan melakukan kesalahan dengan “Tidak ada ruang tersisa di perangkat” (ENOSPC). Jika Anda memasukkan ini ke dalam skrip, Anda harus memeriksa apakah kesalahannya adalah ENOSPC atau menggunakan metode lain. Metode yang lebih andal adalah pertama-tama menentukan ukuran perangkat (misalnya menggunakan /proc/partitionsdi Linux), kemudian menulis jumlah byte yang tepat dengan alat seperti head.
size=$(</proc/partitions awk '$4 == "sdX" {print $3}')
head -c "${size}k" /dev/zero >/dev/sdX