答え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.txt
file.txt
答え2
tar
単にファイルを保存することに加えて、次の3つのことを行う必要があります。
- メタデータの保存(ファイル名、モード、所有者、グループ、日付...)
- ファイルの終わりを表示します。
- アーカイブの終わりを表示します。
tar
「テープアーカイブ」を意味します。テープの場合は、ファイルの終わりがどこにあるかを確認することが重要であり、デバイスは検索時にもこれを知る必要があります(テープがより速く移動する)。したがって、テープの便宜のために、tarは各ファイルの終わりにゼロを追加し、アーカイブの終わりに別の血清セットを追加します。あなたが指摘した2番目の質問はこれを説明します。
を使用してアーカイブの内容を表示できますhexdump -C archive.tar |less
。