Linux 是否有可能知道.tar.bz2中文件占用的空间
我通常使用Linux 是否有可能知道.tar.bz2中文件占用的空间,linux,bash,tar,du,Linux,Bash,Tar,Du,我通常使用du-h(-h表示可读格式)来了解文件占用的空间。 我用.tar.bz2压缩了一些文件夹,但我不确定它是否工作正常。我是说,如果所有的文件都被正确压缩了。我知道可以在.tar.bz2中提取给定文件,但我想知道 有一种方法可以在它里面du-h。一个tar。bz2文件是普通tar档案的bzip2压缩。因此,它不包含单独的“压缩”文件 您可以使用tar-tjf foo.tar.bz2,列出[decompressed]achive。如果该命令成功,则整个foo.tar.bz2的解压工作正常 如
du-h
(-h表示可读格式)来了解文件占用的空间。
我用.tar.bz2
压缩了一些文件夹,但我不确定它是否工作正常。我是说,如果所有的文件都被正确压缩了。我知道可以在.tar.bz2
中提取给定文件,但我想知道
有一种方法可以在它里面
du-h
。一个tar。bz2
文件是普通tar
档案的bzip2
压缩。因此,它不包含单独的“压缩”文件
您可以使用tar-tjf foo.tar.bz2
,列出[decompressed]achive。如果该命令成功,则整个foo.tar.bz2
的解压工作正常
如果要压缩存档中的单个文件,请使用其他工具,如
如果您想测量解压缩存档的总大小(这是对所有存档文件的累积大小的高估),请尝试
bunzip2
你可以这样做
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
0.00749779MB