我读到 gnu tar 和兼容的 tar 工具中使用 "L" (76)作为 tar 条目类型,以指示存档中下一个条目有一个“长”的名称。在这种情况下,类型为'L'的头块通常编码名称为././@LongLink。
我的问题是:下一个块的格式在哪里描述?
tar 存档的格式非常简单:它只是一系列 512 字节块。在正常情况下,tar 存档中的每个文件表示为一系列块。第一个块是头块,包含文件名、条目类型、修改时间和其他元数据。然后是原始文件数据,使用所需的 512 字节块数量。然后是下一个条目。
如果文件名长于头块中分配的空间,则 gnu tar 显然使用称为“././@LongLink 技巧”的方法。我找不到准确的描述。
当条目类型为 'L' 时,如何知道“长”文件名有多长?长名称是否限制为 512 字节,换句话说,任何适合一个块的大小?
最重要的是:这在哪里记录?