私のtarファイルがバックアップディレクトリよりも大きいのはなぜですか?

私のtarファイルがバックアップディレクトリよりも大きいのはなぜですか?

この問題私には役に立ちませんでした(同じタイトルを持っていますが)。それで、重複した質問にもかかわらず、この記事を投稿しました。

私が知る限り、合計はdu -kすべてのサブディレクトリを含み、77MBのデータがあることを示しています。

/raid/fpuData/oldOutput>du -ks
77063332        .
/raid/fpuData/oldOutput>tar -cvzf ../oldOutput.tar.zip *

バックアップはまだ実行されていますが、ファイルはすでに77MBよりはるかに大きいです。

/raid/fpuData>ls oldOutput.tar.zip
-rw-r--r-- 1 nobody nobody 14470610944 Jul  1 22:18 oldOutput.tar.zip

私がバックアップするファイルは、すべてカンマ区切りの巨大なスプレッドシートのように数字でいっぱいの巨大なテキストファイルです。このような

0.3454915028125262743685653,0.5590169943749474512628694,...
0.221761776923297210251107,0.3588180924674668759166707,...
-0.06101864995889930837202897,-0.09873024958113109372792593,...
-0.3001958820500086333460388,-0.4857271404396689140625654,...
...

tarファイルがディレクトリより大きいのはなぜですか? optionsでデータを使用しているので、圧縮する必要がありますz。それでは、ベルを鳴らすのはなぜですかtar

答え1

圧縮されたtarファイルは内容よりも小さいです。

lsデフォルトでは、ファイルサイズはバイト単位で印刷されます。
du -kファイルサイズをキロバイト単位で印刷します。

0610944B ≒ 14131456KB < 77063332KB

ls印刷ファイルのサイズをキロバイト単位で取得するには、この-kフラグを使用します。

答え2

デフォルトのバイナリデータ(*.gz、*.zipなど)を圧縮すると、元の集計よりもはるかに大きい出力ファイルが生成される可能性があることに注意してください。だからあなたが試しているtarの-zスイッチが欠けているでしょう。

答え3

テキストファイルには「txt」拡張子があるため、それほど圧縮されません。追加の「空白」と繰り返される文字の使用が多い傾向があるため、通常、テキストファイルはよりよく圧縮されます。

あなたのCSVファイルにはクリーンアップする「空白」がほとんどなく、実際にはバイナリまたはグラフィックイメージファイルをエミュレートすると仮定します。

答え4

tarオプションを使用せずにスパースファイルをバックアップした可能性があります--sparse

完了したら、アーカイブを抽出し、ソースディレクトリを抽出したディレクトリと比較すると簡単に見つけることができます。

関連情報