我通常使用du -h
(-h作为人类可读的格式)来了解我的文件所占用的空间。
我用.tar.bz2
压缩了一些文件夹,但我不确定它是否运行良好。我的意思是,如果所有文件都已正确压缩。我知道可以在.tar.bz2
内提取给定文件,但我想知道是否
在du -h
里面有一种方法。
答案 0 :(得分:1)
你可以做到
tar -jtvf file-name.tar.bz2
如果那个不够详细,你可以使用awk来提取字节:
tar -jtvf asg2.tar.bz2 | awk '{print $3}'
如果你想获得总字节数,你可以这样做:
tar -jtvf asg2.tar.bz2 | awk '{print s+=$3}' | tail -1
最后,将其转换为人类可读的格式:
echo $(tar -jtvf asg2.tar.bz2 | awk '{print s+=$3}' | tail -1) | awk '{foo = $1 / 1024 / 1024 ; print foo "MB" }'
输出:
0.00749779MB
答案 1 :(得分:0)
tar.bz2
文件是bzip2
- 压缩普通tar
存档。所以它不包含单独的“压缩”文件。
您可以使用tar -tjf foo.tar.bz2
列出[解压缩]的内容。如果该命令成功,则整个foo.tar.bz2
的解压缩确实有效。
如果要压缩存档中的单个文件,请使用其他工具,例如afio
如果要测量解压缩档案的总大小(这是对所有已归档文件的累积大小的高估),请尝试
bunzip2 < foo.tar.bz2 | wc