小编Fla*_*erX的帖子

将小文件拆分为 512 字节段会改变它,但将其拆分为 1k 段不会改变它

所以我试图将 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)

find dd wildcards split checksum

16
推荐指数
1
解决办法
2395
查看次数

标签 统计

checksum ×1

dd ×1

find ×1

split ×1

wildcards ×1