归档目录的最简单格式



我有一个需要在多个平台和机器上工作的脚本。其中一些机器没有任何可用的归档软件(例如zip、tar(。我不能在这些机器上下载任何软件。

该脚本创建一个包含输出文件的目录。我需要把所有这些文件打包成一个文件,这样我就可以轻松下载了。

实现最简单的归档格式是什么,这样我就可以很容易地在脚本中滚动自己的impl。它不必支持压缩。

我可以编一些特别的东西,例如

file1  base64EncodedContents
dir1/file1 base64EncodedContents

等等。

然而,如果一个已经存在,那么我就不用自己打包和开箱了,只需要打包,这会很好。如果它是zip兼容的,那么我就可以获得额外的积分,这样我就可以尝试在可能的情况下使用压缩来压缩它,否则它们就可以在没有压缩的情况下实现我自己的压缩,而不必担心它在另一边。

tar存档格式非常简单,我能够在几个小时内在powershell中实现一个tar存档程序。

它由一系列文件头、文件数据、文件头和文件数据等组成。

标头是纯ascii,因此不需要任何位操作——您可以直接附加字符串。一旦您编写了头,您就可以附加文件字节,并用nil字符填充它,直到它是512字节的倍数。然后对下一个文件重复此操作。

维基百科有更多关于确切格式的详细信息:https://en.wikipedia.org/wiki/Tar_(计算(。

最新更新