我的文件夹中有一个大约 600MB 的图像文件夹output_test
。然后,我使用以下命令创建 100MB 的 tar.gz 文件块:
tar -czf - output_test/ | split --bytes=100MB -d -a 3 - output_test.tar.gz.
这给了我以下文件
-rw-rw-r-- 1 martin 96M Nov 13 17:12 output_test.tar.gz.000
-rw-rw-r-- 1 martin 96M Nov 13 17:12 output_test.tar.gz.001
-rw-rw-r-- 1 martin 96M Nov 13 17:12 output_test.tar.gz.002
-rw-rw-r-- 1 martin 96M Nov 13 17:12 output_test.tar.gz.003
-rw-rw-r-- 1 martin 96M Nov 13 17:12 output_test.tar.gz.004
-rw-rw-r-- 1 martin 96M Nov 13 17:12 output_test.tar.gz.005
-rw-rw-r-- 1 martin 26M Nov 13 17:12 output_test.tar.gz.006
看起来一切都很好(虽然总大小似乎没有减少?),但是当我尝试解压其中一个文件时
tar -xzf output_test.tar.gz.000
我收到以下错误
gzip: stdin: unexpected end of file
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
有谁知道为什么会发生这个错误?
虽然看起来文件提取得很好。所以,我不确定是否可以安全地忽略此错误?
答案1
当您像这样分割输出时,结果是部分主文件的;他们本身并不完整。
因此,如果您只查看“.000”文件,那么您只会看到输出的第一部分。
要重新创建“真实”文件,您需要将它们放在一起。
所以你会做类似的事情:
cat output_test.tar.gz.* | tar xzf -