linux / solaris何时使用tar或者gtar

有没有可能根据tar文件知道什么时候需要使用tar或者gtar

例如

我有一些tar文件

sometarfile.tar 

如何知道是否需要使用tar或者gtar命令?

是否有可能检查tar文件,并根据这个了解哪个命令运行?

不,tar文件格式不存储关于生成它的程序的信息。

编辑:

文件实用程序的Linux版本可以检测到Solars和GNU tar生成的文件之间的区别。 它通过扩展search来在报头中包含格式和版本信息。 GNU生成的tar文件有ustarustar之后有2个空格),而Solaris的tar文件有ustar 00

您可以通过添加该行来使Solaris版本的文件以类似于Linux的方式工作

 257 string ustar\040\040 USTAR tar archive (GNU) 

在线以上

 257 string ustar USTAR tar archive 

/etc/magic 。 话虽如此,我不知道,也找不到一个编码版本信息的标准,所以我会认为这是一个不能被依赖的黑客。

我不能说我曾经发现一个tar文件,GNU tar无法处理的Solaris tar可以(相反,因为你知道不正确),所以在你的情况下,我只会使用gtar从任何焦油文件你有。

关于你在评论中的问题。 这不是一个好主意,因为退出状态> 0只是意味着发生错误,可能是错误,而不是“我不明白这种格式”。