Linux
Linux dd關於相同塊的差異結果的問題
我嘗試使用 dd 命令在 linux 作業系統上執行簡單的測試案例。
我用這個命令創建了一個簡單的磁碟映像:
dd if=/dev/urandom of=disk.img bs=1M count=100
這是第一次測試:
現在我執行這個命令:
dd if=disk.img of=output_1 bs=1k count=4 dd if=disk.img of=output_2 bs=4k count=1 md5sum output_1 output_2 bc0245c10ff529042fd2a5335ed1573f output_1 bc0245c10ff529042fd2a5335ed1573f output_2
您可以看到***
output_1
並且output_2
***具有完全相同的 md5 hash 。這是第二次測試:
現在我將跳過參數添加到 dd 命令:
dd if=disk.img of=output_1 skip=1500 bs=1k count=4 dd if=disk.img of=output_2 skip=1500 bs=4k count=1 c5b0e8dde317c25011b31a5c48580477 output_1 4585d39fcf93cec4abc6c55094aac724 output_2
為什麼這個塊的結果不同?
我的測試的哪一部分是錯誤的?
跳過參數位於(輸入)塊中,而不是字節,如手冊頁中所述:
skip=N skip N ibs-sized blocks at start of input
在第一種情況下,跳過的部分是:
1500 * 1KiB = 1536000 字節
第二種情況:
1500 * 4KiB = 6144000 字節
只要所涉及的值完全劃分,您就可以調整。對於第二種情況,使用 1500*1k/4k=375 (
skip=375
) 將返回與第一種情況相同的結果。