이러한 명령은 sda 장치를 0으로 덮어 씁니다. 첫 번째 명령은 첫 번째 16MB (블록 크기 4096 및 4096 블록 수)를 수행하고 두 번째 명령은 마지막 2MB (512 블록 크기 4096 블록)를 0으로 덮어 씁니다. (기술적으로 지워지지 않으며 아래의 첫 번째 요점과 관련이 있습니다.)
(완전성을 위해 여기를 포함하여 다른 답변에서 이미 언급 한 부분이었습니다)
언급해야 할 또 다른 사항은 블록 크기에 영향이 있지만 일반적으로 대량 작업에서만 나타납니다. 명령을 실행하는 가장 효율적인 (가장 빠른) 방법은 명령의 블록 크기가 장치의 액세스 크기와 일치하면 시간이 낭비됩니다.
관심이 있으시면 백만 개의 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
보다시피, 블록 크기는 효율성에 큰 영향을 미칩니다. 그것은 아마도 OP에 대한 사이드 바이지만 여전히 관련이 있다고 생각합니다.
TL; DR : 인터넷에서 찾거나 신뢰할 수없는 누군가가 제공 한 임의의 코드를 실행하지 마십시오. 하루를 망칠거야.