tar 提取的存档删除版本

tar extracted archive removes version

我有一个 0.0.1 版本的压缩包:myarch_0.0.1.tar.gz

当我用 tar 解压缩时,所有内容都被解压缩并解压缩到 myarch 文件夹中,删除了版本号。

ls
myarch_0.0.1.tar.gz

tar -zxvf myarch_0.0.1.tar.gz

ls
myarch/ myarch_0.0.1.tar.gz*

我希望提取的文件夹命名为:myarch_0.0.1/ 如何让我的版本号固定在提取的文件夹名称上?

存档文件的名字,和里面的文件名,一般来说是没有关系的。如果您希望提取的目录具有特定名称和版本号,则必须使用这样命名的目录创建存档。

在此示例中,提取的内容是名为 myarch 的目录,而不是您想要的 myarch_0.0.1。您可以重命名目录并重新创建存档:

mv myarch myarch_0.0.1
tar zcf myarch_0.0.1.tar.gz myarch_0.0.1

就是这样。当您解压这个新档案时,您将得到一个名为 myarch_0.0.1 的目录,因为这就是您放入其中的内容。即使您将此文件重命名为 mickeymouse.tar.gz,当您解压它时,您仍然会得到一个名为 myarch_0.0.1 的目录,因为这就是存档中的内容。与存档的文件名无关。