这个问题可能听起来很奇怪,但我想知道是否有可能显示命令中处理的文件的缩减百分比tar
。
我使用此命令tar -cjvf "$BACKUP_PATH/Complete Backup $date.tar.bz2" $MINECRAFT_PATH
创建 minecraft 游戏服务器的备份。它显示了正在处理的所有文件。这看起来几乎像命令zip
。不同之处在于,一旦命令zip
完成,它就会显示文件压缩了多少。我想知道 tar 命令是否可以做到这一点。
答案1
这是不可能的,因为文件首先被存档(tar
),然后结果被整体压缩(bz2
或gz
)。这是(编辑: 之一)为什么tar.bz2
或tar.gz
通常小于zip
,特别是当它们包含大量小而相似的文件时。
答案2
如果您先运行tar
,然后运行gzip
或bzip2
,那么您可以将这两个选项传递-v
给显示压缩率,例如这样:
tar -cvf - foo/ | bzip2 -v > foo.tar.bz2
答案3
做什么用的?您可以告诉 tar 将处理的块数写入 stdout,或者您可以运行获取已处理块数的命令。这是百分比显示的基础。使用选项
tar ...something ... --checkpoint --checkpoint-action=ACTION
参见 man tar。