คำสั่งเหล่านั้นจะเขียนทับอุปกรณ์ sda ของคุณด้วยเลขศูนย์ - อันแรกจะทำ 16MB แรก (ขนาดบล็อก 4096 และนับ 4096 บล็อก) และอันที่สองจะเขียนทับ 2MB ล่าสุด (ขนาดบล็อก 512 กับ 4096 บล็อก) ด้วยศูนย์ (ไม่ได้ลบทางเทคนิคและเกี่ยวข้องกับจุดแรกของฉันด้านล่าง)
(นั่นคือส่วนที่กล่าวถึงแล้วในคำตอบอื่น ๆ รวมถึงที่นี่เพื่อความสมบูรณ์)
อีกสิ่งหนึ่งที่ควรค่าแก่การกล่าวถึงคือขนาดบล็อกมีเอฟเฟกต์ แต่โดยทั่วไปจะเห็นเฉพาะในการดำเนินการในปริมาณมากเท่านั้น วิธีที่มีประสิทธิภาพที่สุด (เร็วที่สุด) ในการดำเนินการคำสั่งคือถ้าขนาดบล็อกของคำสั่งตรงกับขนาดการเข้าถึงของอุปกรณ์มิฉะนั้นเวลาจะสูญเปล่า
หากคุณสนใจคุณสามารถลองสร้างไฟล์ที่มีบล็อก 1 ล้านบล็อกและไฟล์ที่มีบล็อก 1 ล้านบล็อกและดูความแตกต่าง:
[user@host tmp]$ time dd if=/dev/zero of=/tmp/test1 bs=1 count=1000000
1000000+0 records in
1000000+0 records out
1000000 bytes (1.0 MB) copied, 2.44439 s, 409 kB/s
real 0m2.447s
user 0m0.177s
sys 0m2.269s
[user@host tmp]$ time dd if=/dev/zero of=/tmp/test2 bs=1000000 count=1
1+0 records in
1+0 records out
1000000 bytes (1.0 MB) copied, 0.00155357 s, 644 MB/s
real 0m0.003s
user 0m0.001s
sys 0m0.002s
[user@host tmp]$ ls -al test*
-rw-rw---- 1 user grp 1000000 Apr 8 15:51 test1
-rw-rw---- 1 user grp 1000000 Apr 8 15:51 test2
อย่างที่คุณเห็น Blockize มีผลกระทบอย่างมากต่อประสิทธิภาพ อาจเป็นแถบด้านข้างของ OP แต่ฉันรู้สึกว่ามันยังเกี่ยวข้อง
TL; DR: อย่าเรียกใช้รหัสโดยอำเภอใจที่คุณพบบนเน็ตหรือว่าคนที่คุณไม่ไว้ใจให้คุณ มันจะทำลายวันของคุณ