linux - 是否有可能知道 .tar.bz2 中文件占用的空间

标签 linux bash tar du

我通常使用 du -h(-h 表示人类可读格式)来了解我的文件占用的空间。 我用 .tar.bz2 压缩了一些文件夹,但我不确定它是否工作正常。我的意思是,如果所有文件都已正确压缩。我知道可以在 .tar.bz2 中提取给定的文件,但我想知道是否 有一种方法可以在其中 du -h

最佳答案

你可以做

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

关于linux - 是否有可能知道 .tar.bz2 中文件占用的空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24323032/

相关文章:

c - C中的内存计算

linux - 如何使用linux在每行的开头插入数字(连接)

regex - 在文件的每一行上运行 curl 命令并从结果中获取数据

bash - 使用替换和变量重命名文件和目录

bash - 从多个目录创建多个 tar.gz 存档

linux - 需要 TAR shell 脚本帮助

java - 主线程不调用 `join()` 等待创建的线程在 Java 中完成是否有用法?

linux - 在 linux bash 脚本中使用 tee 随机更新文件失败

php - 允许通过 PHP 访问 protected 文件

c - 调用 GCC 为 "cc"与 "gcc"