tar.xz - 如何在不解压整个存档的情况下检查未压缩文件的大小

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

我在检查存档 tar.xz 中未压缩的大小而不提取整个存档时遇到问题。 我知道对于 tar.gz 我可以使用 gzip 或 zcat 但对于 tar.xz 它不起作用。

有什么建议如何做到这一点吗?

linux gzip tar xz
3个回答
4
投票

xz -l file.xz
将以人类可读的方式(KiB MiB 后缀)为您提供存档的压缩/未压缩大小,而无需实际解压缩(无 CPU 或磁盘负载)。但它不会列出 tar 存档内的文件。

xz -lv file.xz
很详细,您可以对其进行过滤以获取准确的大小(以字节为单位)。


3
投票

tar tvfa <file>
将为您提供一个包含文件大小的列表。详情请查看
man tar
。您还应该注意,文件大小并不等于磁盘使用情况,因为文件的一部分可以占用完整的文件系统块。


0
投票

基于 Lucas 的答案,您可以使用

--robot
标志到
xz
来干净地编写脚本:

uncomp_size=$(xz --robot --list "${local_file}" | grep ^totals | cut -f5)
© www.soinside.com 2019 - 2024. All rights reserved.