是否可以找出解压后目录的大小是多少?
如果我确实有一个1GB 格式的tar
文件gz,bz2 or xz
,那么有什么方法可以事先知道该tar
文件需要这么大的大小来提取内容?
答案1
未压缩的 tarball 的大小与其提取的内容大致相同,因此您可以通过确定原始 tarball(预压缩)的大小来很好地了解提取的大小:
xz -l tarball.tar.xz
gzip -tl tarball.tar.gz
分别为xz
和gzip
(尽管gzipped
大于 4GB 的文件不会报告正确的大小)。
bzip2
似乎没有选项显示压缩前文件的大小,因此最简单的选项是解压缩并计数:
bunzip2 -c tarball.tar.bz2 | wc -c
这也适用于大gzip
文件:
gunzip -c tarball.tar.gz | wc -c
答案2
检查这里...
https://stackoverflow.com/questions/2712173/check-the-total-content-size-of-a-tar-gz-file
$ tar tzvf archive.tar.gz | sed 's/ \+/ /g' | cut -f3 -d' ' | sed '2,$s/^/+ /' | paste -sd' ' | bc
gzsize <your file>