当我将文件放到 Nautilus 的存档中时会发生什么?

当我将文件放到 Nautilus 的存档中时会发生什么?

我有这个文件结构:

2000/
  001.txt
  002.txt
  003.txt
  ...
2001/
  ...
2002/
  ...
...
2011/

我猜文件结构并不重要,但无论如何......
所以文件夹代表几年,里面有一些文本文件。

现在我使用 Nautilus 压缩上下文菜单(存档管理器)的tar.gz格式压缩所有内容。我选择这种格式是因为虽然它需要更多空间bz2,但当我需要查询内部数据时,它会快得多。

在此之后,我创建了包含有关存档内容 (大小为 170 KB) 的参考帮助文本文件并希望将其添加到存档中,因此我只需将此文件拖放到 Nautilus 中创建的存档中即可。

会发生两件不好的事情:

  1. 将文件拖放到存档中会将整个存档提取到临时文件夹中,然后再次重新压缩所有文件!这对于大型存档来说太糟糕了,我希望以后能在终端中找到更好的方法

  2. 初始存档大小约为 96 MB,现在只需添加这个 170 KB 的文本文件,存档就变成 140 MB!我检查了里面的内容和这个小文本文件

为什么是这样?


我刚刚创建了包含两个子文件夹内容的档案,然后拖放大小为 100 字节的文件:

$ gzip -l tmp-original.tar.gz
         compressed        uncompressed  ratio uncompressed_name
           13297512            69908480  81.0% tmp-original.tar
$ gzip -l tmp-updated.tar.gz 
         compressed        uncompressed  ratio uncompressed_name
           19231941            69908480  72.5% tmp-updated.tar

答案1

关于第一点,据我所知,tar终端命令无法将文件附加到压缩档案(例如您的 .gz 档案),因此需要先解压缩档案,然后添加附加文件,然后重新压缩。一种解决方法是使用以下命令挂载压缩档案archivemount (此处有说明),它允许您挂载压缩档案、附加文件以及卸载它。我不能说这是否比解压缩、附加和重新压缩更快。

相关内容