所以我试图将 64MB 文件分割FileCarve.001成 512 字节段(每个块长 512 字节)。我需要确保文件在分割成较小的文件时具有相同的数据,因此我将cat所有文件进行标准输出并将其通过管道传输到sha256sum(有很多文件,所以我需要使用find和 来执行此操作xargs)。
当命令分割输出时,将文件分割为 512 字节段似乎会导致数据混乱split。
$ dd if=FileCarve.001 bs=512 | split -b512 - splits/img
131072+0 records in
131072+0 records out
67108864 bytes (67 MB, 64 MiB) copied, 4.10824 s, 16.3 MB/s
$ sha256sum FileCarve.001
3e64100044099b10060f5ca3194d4d60414941c7cb26437330aba532852a60cd FileCarve.001
$ find splits/ -type f -print0 | xargs -0 cat | sha256sum
25b37f28204895e5d0b1cb160c5fa599d15188baf7e529ccc92a10fdb3f0515a -
Run Code Online (Sandbox Code Playgroud)
但将文件分割为 1 KB 段(1000 字节)似乎效果很好。
$ dd if=FileCarve.001 bs=512 | split -b1k …Run Code Online (Sandbox Code Playgroud)