tar文件比使用-T选项和文件列表的原始文件大得多。为什么?

时间:2017-12-20 10:01:11

标签: gzip tar

现在我正在测试tar命令。

我像下面那样运行2命令。

Template ---- TemplateVersionCurrent.Template == Template

tar_dir大小约为200MB,大约有10000个文件。 file_list.txt包含tar_dir目录的所有文件列表以及相对路径。所以test1.tar.gz和test2.tar.gz有相同的文件。但尺寸太不相同了。 test1.tar.gz大约是130MB,test2.tar.gz大约是1.5GB。

我无法理解。我确定test1.tar.gz和test2.tar.gz有相同的文件。为什么这两个文件的大小不同?

1 个答案:

答案 0 :(得分:0)

我认为tar文件实际上并不包含相同的文件......也许file_list.txt中的路径出错...

您可以执行类似以下命令的操作,找出test2.tar.gz中的内容,而不是test1.tar.gz

sdiff -s<(tar -tf test1.tar.gz | sed's /^./// g'| sort)<(tar -tf test2.tar.gz | sort)

对于test1.tar.gz来说,“sed”意味着删除文件前面的“./”,以便相关地比较两个tar文件列表,排序就是对它们进行排序。

希望这有帮助。