归档目录的最简单格式
Simplest format to archive a directory
我有一个脚本需要在多个平台和机器上运行。其中一些机器没有任何可用的归档软件(例如 zip,tar)。我无法在这些机器上下载任何软件。
该脚本创建一个包含输出文件的目录。我需要将所有这些文件打包成一个文件,以便我可以轻松下载它。
最简单的归档格式是什么,这样我就可以轻松地在脚本中使用我自己的 impl。它不一定支持压缩。
我可以临时编一些东西,例如
file1 base64EncodedContents
dir1/file1 base64EncodedContents
等等
但是,如果已经存在,那么我就不必自己打包和拆包,只打包,这会很好。如果它是 zip 兼容的,那么奖励积分,这样我就可以尝试压缩它,如果可能的话,它们会在没有压缩的情况下实现我自己的,而不必担心它在另一边。
tar 存档格式非常简单 - 简单到我能够在几个小时内在 powershell 中实现 tar 存档器。
它由一系列文件header、文件数据、文件header、文件数据等组成
header 是纯 ascii,因此不需要任何位操作 - 您可以直接附加字符串。一旦你写完 header,你就可以附加文件字节,并用 nil 字符填充它直到它是 512 字节的倍数。然后重复下一个文件。
维基百科有关于确切格式的更多详细信息:https://en.wikipedia.org/wiki/Tar_(computing)。
我有一个脚本需要在多个平台和机器上运行。其中一些机器没有任何可用的归档软件(例如 zip,tar)。我无法在这些机器上下载任何软件。
该脚本创建一个包含输出文件的目录。我需要将所有这些文件打包成一个文件,以便我可以轻松下载它。
最简单的归档格式是什么,这样我就可以轻松地在脚本中使用我自己的 impl。它不一定支持压缩。
我可以临时编一些东西,例如
file1 base64EncodedContents
dir1/file1 base64EncodedContents
等等
但是,如果已经存在,那么我就不必自己打包和拆包,只打包,这会很好。如果它是 zip 兼容的,那么奖励积分,这样我就可以尝试压缩它,如果可能的话,它们会在没有压缩的情况下实现我自己的,而不必担心它在另一边。
tar 存档格式非常简单 - 简单到我能够在几个小时内在 powershell 中实现 tar 存档器。
它由一系列文件header、文件数据、文件header、文件数据等组成
header 是纯 ascii,因此不需要任何位操作 - 您可以直接附加字符串。一旦你写完 header,你就可以附加文件字节,并用 nil 字符填充它直到它是 512 字节的倍数。然后重复下一个文件。
维基百科有关于确切格式的更多详细信息:https://en.wikipedia.org/wiki/Tar_(computing)。