检查 tar 文件是否有错误

检查 tar 文件是否有错误

有没有办法查看文件是否有问题.tar.bz2?正如您所看到的,我可以获得文件列表,但在这种情况下两者都xjvf不起作用。xzvf

$ tar tf pytorch.20210702.tar.bz2  | head -n 5
pytorch/
pytorch/BUILD.bazel
pytorch/requirements-flake8.txt
pytorch/NOTICE
pytorch/WORKSPACE

$ tar xjvf pytorch.20210702.tar.bz2
bzip2: (stdin) is not a bzip2 file.
tar: Child returned status 2
tar: Error is not recoverable: exiting now

$ tar xzvf pytorch.20210702.tar.bz2    
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

答案1

bzip2: (stdin) is not a bzip2 file

这告诉您该文件没有使用 bzip2 压缩。因此,.bz2扩展名具有误导性,不应使用 的选项tar-j

gzip: stdin: not in gzip format

这告诉您该文件没有使用 gzip 压缩。因此,不应使用 的选项tar-z

如果您想了解压缩方法,从而知道tar使用什么选项,可以使用以下file命令:

file pytorch.20210702.tar.bz2

也就是说,您的第一次尝试tar tf似乎有效,那么为什么不考虑您的 tar 文件根本没有被压缩呢?

即使它被压缩,现在也tar使用自动检测来猜测压缩方法,这可能在这里起作用。

你试一试:

$ tar xvf pytorch.20210702.tar.bz2

答案2

你可以使用

file filename

找出真正的压缩机是什么。然后你man compressor要了解如何验证文件完整性,通常是开关-t,即xz -tbzip2 -t

相关内容