mah*_*454 7 linux ubuntu centos dd
我尝试使用 dd 命令在 linux 操作系统上运行简单的测试用例。
我用这个命令创建了一个简单的磁盘映像:
dd if=/dev/urandom of=disk.img bs=1M count=100
Run Code Online (Sandbox Code Playgroud)
这是第一次测试:
现在我运行这个命令:
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
Run Code Online (Sandbox Code Playgroud)
您可以看到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
Run Code Online (Sandbox Code Playgroud)
为什么这个块的结果是不同的?
我的测试的哪一部分是错误的?
A.B*_*A.B 12
跳过参数在(输入)块中,而不是以字节为单位,如手册页中所述:
Run Code Online (Sandbox Code Playgroud)skip=N skip N ibs-sized blocks at start of input
在第一种情况下,跳过的部分是:
1500 * 1KiB = 1536000 字节
第二种情况:
1500 * 4KiB = 6144000 字节
只要所涉及的值完全分开,您就可以进行调整。对于第二种情况,使用 1500*1k/4k=375 ( skip=375) 将返回与第一种情况相同的结果。
| 归档时间: |
|
| 查看次数: |
526 次 |
| 最近记录: |