名为“.”的文件夹在 gzip 压缩档案中

名为“.”的文件夹在 gzip 压缩档案中

我在 VirtualBox VM 上创建了 Ubuntu 最小安装。然后,我决定将其存档,以便与朋友分享。我让他们使用它,以便他们可以尝试 Linux 命令。

我使用命令将其存档,

tar -zcvf ./Hackcraft.tar.gz ./Hackcraft

归档过程非常顺利。然而,当我在 FileRoller 中打开存档时,我注意到第一个可见目录是“.”。不带引号。当我双击该目录查看其内部时,我看到了我的 Hackcraft 文件夹,该文件夹已存档。里面有我所有的文件。

问题是,为什么顶层文件夹是.?我知道它用于例如在终端中进行 cd 时表示当前文件夹。但为什么它会在那里呢?

答案1

您给出的命令创建一个 tarball,其路径以./Hackcraft;开头。你可以通过运行看到

tar tf Hackcraft.tar.gz

File Roller 按文件夹显示 tarball 文件夹的内容,在 上拆分/,这会导致其显示名为 的根文件夹.,其中包含名为 的文件夹Hackcraft

(压缩包本身不包含.条目。)

答案2

tar档案有 的条目时./,它用于记录当前目录的所有权和权限。因此,当您解压它时,当前目录的所有权和权限可能会更改。

话虽这么说,您发出的命令不应产生tar包含./成员的存档。有可能FileRoller隐式剥离顶级目录。

相关内容