Ці команди замінять ваш пристрій sda з нулями - перший зробить перший 16 МБ (розмір блоку 4096 та кількість 4096 блоків), а другий замінить останні 2 МБ (розмір блоку 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
Як бачите, розмір блоків має величезний вплив на ефективність. Це, можливо, бічна панель до ОП, але я вважаю, що це все ще актуально.
TL; DR: Не виконуйте довільний код, який ви знайдете в мережі, або той, кому ви не довіряєте. Це зіпсує вам день.