tar.exe 命令中 -a 选项的含义是什么?

tar.exe 命令中 -a 选项的含义是什么?

目的:在 Windows 中压缩一个文件夹,然后在 Linux 中解压它。

我更喜欢https://superuser.com/a/898508/1451256我意识到 tar.exe --help 中没有关于 -a 选项的描述:https://ss64.com/nt/tar.html,所以我只是按照 tar 官方的步骤操作:“tar -cvzf xxx”,但是当我尝试在 linux 中通过“unzip xxx”提取该 zip 文件时,它会抛出错误“未找到中央目录末尾的签名。此文件不是 zip 文件,或者它构成多部分存档的一个磁盘。在后一种情况下,将在该存档的最后一个磁盘上找到中央目录和 zip 文件注释。”

所以我怀疑 zip 文件没有正确压缩,然后我尝试添加 -a 选项,它完美地工作了。正如评论https://superuser.com/a/1473257/1451256:它说如果没有 -a 选项,“它假设一个普通的 tar 存档”,我不知道这是什么意思。有人能解释一下 -a 选项是什么吗?谢谢。

答案1

焦油(1)

...
-a, --auto-compress
             (c mode only) Use the archive suffix to decide a set of the
             format and the compressions.  As a simple example,
                   tar -a -cf archive.tgz source.c source.h
             creates a new archive with restricted pax format and gzip
             compression,
                   tar -a -cf archive.tar.bz2.uu source.c source.h
             creates a new archive with restricted pax format and bzip2
             compression and uuencode compression,
                   tar -a -cf archive.zip source.c source.h
             creates a new archive with zip format,
                   tar -a -jcf archive.tgz source.c source.h
             ignores the "-j" option, and creates a new archive with
             restricted pax format and gzip compression,
                   tar -a -jcf archive.xxx source.c source.h
             if it is unknown suffix or no suffix, creates a new archive with
             restricted pax format and bzip2 compression.
...

相关内容