在Linux中,如何确定用于创建给定tarball的格式?
我想检测某个存档是否是使用 posix 或 gnu 格式创建的。
我已经阅读了man page for GNU tar,它解释了如何在创建过程中控制格式。但是,我没有看到有关如何查看现有文件格式的任何信息。
答案 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格式,所以这就是为什么它说两者都是。