如何确定tar存档的格式

时间:2016-06-02 23:05:14

标签: linux posix command-line-interface gnu tar

在Linux中,如何确定用于创建给定tarball的格式?

我想检测某个存档是否是使用 posix gnu 格式创建的。

我已经阅读了man page for GNU tar,它解释了如何在创建过程中控制格式。但是,我没有看到有关如何查看现有文件格式的任何信息。

1 个答案:

答案 0 :(得分:4)

您可以在Linux下使用abc-1003来查看未压缩存档的指纹(文件不会超出压缩层,因此请先解压缩):

file

如果存档已压缩,请先解压缩:

$ tar --format=posix -cf posix.tar foo      # create test posix archive
$ tar --format=gnu   -cf gnu.tar   foo      # create test gnu archive
$ file gnu.tar posix.tar
gnu.tar:   POSIX tar archive (GNU)
posix.tar: POSIX tar archive

GNU基于较旧的POSIX格式,所以这就是为什么它说两者都是。

有关详细信息,请参阅GNU tar手册here中的格式以及更多详细信息here