有没有办法查看文件是否有问题.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 -t
或bzip2 -t
。