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

问题描述 投票:0回答:1

现在我正在测试tar命令。

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

tar zcvf test1.tar.gz -C ./tar_dir .
tar zcvf test2.tar.gz -C ./tar_dir -T /file_list.txt

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有相同的文件。为什么这两个文件的大小不同?

gzip tar
1个回答
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文件列表,排序就是对它们进行排序。

希望这可以帮助。

© www.soinside.com 2019 - 2024. All rights reserved.