显示 tar 命令的压缩百分比(类似 zip 命令)

显示 tar 命令的压缩百分比(类似 zip 命令)

这个问题可能听起来很奇怪,但我想知道是否有可能显示命令中处理的文件的缩减百分比tar

我使用此命令tar -cjvf "$BACKUP_PATH/Complete Backup $date.tar.bz2" $MINECRAFT_PATH创建 minecraft 游戏服务器的备份。它显示了正在处理的所有文件。这看起来几乎像命令zip。不同之处在于,一旦命令zip完成,它就会显示文件压缩了多少。我想知道 tar 命令是否可以做到这一点。

答案1

这是不可能的,因为文件首先被存档(tar),然后结果被整体压缩(bz2gz)。这是(编辑: 之一)为什么tar.bz2tar.gz通常小于zip,特别是当它们包含大量小而相似的文件时。

答案2

如果您先运行tar,然后运行gzipbzip2,那么您可以将这两个选项传递-v给显示压缩率,例如这样:

tar -cvf - foo/ | bzip2 -v > foo.tar.bz2

答案3

做什么用的?您可以告诉 tar 将处理的块数写入 stdout,或者您可以运行获取已处理块数的命令。这是百分比显示的基础。使用选项

tar ...something ... --checkpoint --checkpoint-action=ACTION

参见 man tar。

相关内容