tarアーカイブがテキストファイルである10240バイトよりはるかに大きいのはなぜですか?

tarアーカイブがテキストファイルである10240バイトよりはるかに大きいのはなぜですか?

これら2つの質問を確認しました(質問1質問2)、しかし私の理解には役に立ちません。file.txt40行の文字列を含むファイルがありますHello World!ls -lサイズは520バイトで表示されます。このファイルをアーカイブtar -cvf file.tar file.txtして再アーカイブすると、10240バイトであるls -lことがわかります。file.tarなぜ?

私はいくつかのマニュアルを読んで、アーカイブと圧縮が異なることを学びました。しかし、誰かがそれがどのように機能するかを説明できますか?

ベストアンサー1

tarデフォルトでは、最小アーカイブサイズは10240バイトです。GNUtarマニュアル詳細(ただし、これはGNUに固有のものではありません)。

GNUを使用すると、tar異なるブロックサイズ、異なるブロック引数、またはその両方を指定することでこの問題を軽減できます。

tar -cv -b 1 -f file.tar file.txt

関連するメタデータがfile.txt自分と一緒に保存されるため、結果はまだ自分よりも大きくなります。file.tarほとんどの場合、ファイルメタデータ(名前、サイズ、タイムスタンプ、所有権、権限)のブロック、ファイルの内容、アーカイブ終了エントリの2つのブロックが表示されるため、アーカイブされていない最小アーカイブサイズには0が含まれます。 -lengthファイルは4ブロック(2,048バイトと512バイトブロックの1つ)です。file.txtfile.txt

おすすめ記事