tar コマンドの圧縮率を表示する (zip コマンドと同様)

tar コマンドの圧縮率を表示する (zip コマンドと同様)

この質問は奇妙に聞こえるかもしれませんが、コマンドで処理されたファイルの圧縮率を表示する可能性があるかどうかを知りたいですtar

このコマンドを使用してtar -cjvf "$BACKUP_PATH/Complete Backup $date.tar.bz2" $MINECRAFT_PATH、Minecraft ゲーム サーバーのバックアップを作成します。これは、処理中のすべてのファイルを表示しています。これは、zipコマンドとほぼ同じです。ここでの違いは、zipコマンドが完了すると、ファイルがどれだけ圧縮されたかが表示されることです。これは、tar コマンドで可能かどうか疑問に思います。

答え1

これは不可能です。ファイルは最初にアーカイブされ ( tar)、その後結果全体が圧縮されるからです (bz2または)。これが (編集: ) 、またはが通常 よりも小さくなるgz理由の 1 つです。特に、これらに小さく類似したファイルが多数含まれている場合はそうです。tar.bz2tar.gzzip

答え2

最初に を実行しtar、次にgzipまたは のいずれかを実行すると、圧縮率を表示するbzip2オプションを両方に渡すことができます。たとえば、次のようになります。-v

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

答え3

何のために? 処理されたブロック番号を標準出力に書き込むようにtarに指示するか、処理されたブロック番号を取得するコマンドを実行することができます。これはパーセンテージ表示のベースです。オプションを使用してください

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

man tar を参照してください。

関連情報