md5 哈希在文件拆分时不同,再次返回

2 shell md5

这是我运行的命令的摘录,split然后cat是一个文件:

sh-3.2# split -b 600m bt4-final.iso 

sh-3.2# ls -hal
total 6132096
drwxr-xr-x   6 root   staff   204B Jan 12 19:59 .
drwxr-xr-x  13 alien  staff   442B Jan 12 19:54 ..
-rw-r--r--   1 root   staff   1.5G Jan 12 19:56 bt4-final.iso
-rw-r--r--   1 root   staff   600M Jan 12 19:58 xaa
-rw-r--r--   1 root   staff   600M Jan 12 19:59 xab
-rw-r--r--   1 root   staff   297M Jan 12 19:59 xac

sh-3.2# cat $(ls -t x*) > bt4-final-reasembled.iso

sh-3.2# ls
bt4-final-reasembled.iso    xaa          xac
bt4-final.iso               xab

sh-3.2# md5 bt4*
MD5 (bt4-final-reasembled.iso) = edd4f24f3abcabb8a447a69eaa30ff39
MD5 (bt4-final.iso) = af139d2a085978618dc53cabc67b9269
Run Code Online (Sandbox Code Playgroud)

为什么本质上相同的文件的 MD5 哈希值不同?

hob*_*bbs 14

由于不必要的ls -t.

cat x* > out.iso会做得很好并给出正确的输出。POSIX 保证 globbing 将按排序顺序为您提供文件。


Chr*_*ung 5

您以错误的顺序重新构建文件。使用ls -t,首先列出最新的文件(即,在您的情况下,最后一个分割块)。